MSVC needs the `else` to avoid compiling the rest of the function if it can't be reached. This is merged from #143171.