Since a few years ago, it hasn't been possible to close questions as a duplicate of an unanswered question. The only exception to this is when both questions are by the same user, in which case the presence or absence of answers currently doesn't matter.
I'd like to suggest that this exception be narrowed down a little bit — specifically, that it should apply only when both questions are unanswered.* That is, voting to close an answered question as a duplicate of an unanswered one should not be allowed, even if they're by the same user.
In other words, I'd like to propose that voting to close a question A as a duplicate of question B should be allowed** only when either:
- question B (the "dupe target") is answered, or
- both questions have been asked by the same user, and they're both unanswered.
(Changes to existing rules in bold.)
Why should we do this?
Closing an answered question as a duplicate of an unanswered one is problematic for several reasons:
It hides potentially useful answers. Users (and search engines!) visiting the closed question will get automatically redirected to the unanswered duplicate, so they won't even see the answers on the closed question.
By forcing any new answers to be posted to a different question than the existing ones, it spreads answers across multiple questions and encourages answer duplication, which is exactly what closing dupes is supposed to prevent!
Since unanswered questions are subject to automatic deletion, the dupe target can disappear, leaving the closed (and answered) question pointing to a 404 error page! (Normal users can't vote to delete questions that other questions have been closed as duplicates of, but this limitation does not apply to the automatic deletion script.)
For some actual examples of this happening, here's an SEDE query that lists answered duplicates of deleted posts. We currently have a bit over 1,000 such broken duplicates on SO, and we seem to be getting about one more every week — although the actual number may well be larger, since some people do use queries like this to find such questions and vote to delete or reopen them.
But those questions are duplicates! I should be able to close them!
...and you still can, even if this proposal is implemented! The only difference would be that, if only one of the two questions is answered, then you'll need to close the unanswered one.
Yes, this means that you may sometimes have to interrupt your review workflow to actually open the unanswered duplicate in a new tab in order to vote to close it. Honestly, I don't see this as a terrible hardship.
But the unanswered one is better! Why should I close that one?
Yeah, that can happen. In fact, it's even pretty common. What typically happens is that a new user asks a poor question, but still manages to get some answers. Meanwhile, somebody leaves a comment asking the user to improve their question — and they do so, but post it as a new question instead of editing the old one like they should've.
However, there is an easy workaround for such situations: just edit the older question to incorporate the improvements from the new version, and then vote to close the new question as a duplicate of the older one. In fact, I would argue that this is the right thing to do in such cases, anyway, regardless of whether this feature request is implemented or not. Leaving a friendly comment to the OP to inform them of the editing feature, while optional, is also recommended.
If the problem is that automatic deletion is leaving broken duplicates behind, why not just fix the auto-deletion script not to do that?
That's a good suggestion. In fact, I've suggested something like that myself. But it won't fix the other issues, like users getting redirected to unanswered questions when the question they were trying to visit does have an answer. And in any case, there's no reason why we shouldn't implement both of these fixes.
*) The standard SE definition of "answered", as used by the current dupe closing rules, is "having an accepted or positively scored answer". Although this definition may not be ideal for all purposes, we probably should stick to it for consistency here too, so as to guarantee that, of any pair of duplicate questions, at least one can still always be closed as a duplicate of the other.
**) I'd also like to request that, when determining whether an answered question has accumulated enough votes to be closed, and when choosing the close reason to be shown, any votes to close it as a duplicate of a currently unanswered question should be ignored. This would take care of some further corner cases where either a question gets answered after some dupe votes have been cast on it, or the proposed dupe target has all its answers deleted for some reason.