The correct answer is D. recursive.
This is a fundamental theorem in computability theory, often known as Post's Theorem.
Explanation
Here is the reasoning behind this rule:
Recursive (Decidable): A language $L$ is recursive if there exists a Turing machine (a decider) that is guaranteed to halt on every input and give a correct "YES" (accept) or "NO" (reject) answer.
Recursively Enumerable (RE): A language $L$ is RE if there is a Turing machine that will halt and say "YES" for strings in $L$. However, for strings not in $L$, it might loop forever. We can only guarantee a "YES" answer.
The Proof:
We are given that both $L$ and its complement $\bar{L}$ are RE. This means we have two Turing machines:
$M_1$, which is guaranteed to halt and accept any string in $L$.
$M_2$, which is guaranteed to halt and accept any string in $\bar{L}$.
We can use these two machines to build a new Turing machine, $M_{\text{decider}}$, that decides $L$ (and is guaranteed to halt), proving $L$ is recursive.
Algorithm for $M_{\text{decider}}$ on input $w$:
Run both $M_1$ and $M_2$ in parallel (for example, by alternating one step of each machine).
Since every string $w$ must be in either $L$ or $\bar{L}$, one of the two machines ($M_1$ or $M_2$) is guaranteed to eventually halt and accept.
If $M_1$ halts and accepts, $M_{\text{decider}}$ halts and accepts (because $w \in L$).
If $M_2$ halts and accepts, $M_{\text{decider}}$ halts and rejects (because $w \in \bar{L}$).
Because this new machine, $M_{\text{decider}}$, is guaranteed to halt on every input, $L$ is recursive. The other options (A, B, C) are all subsets of recursive languages, but "recursive" is the most general and correct property guaranteed by the premise.