It's never called.

I added a call to abort() to that function, and the tests all pass. So
the function is never used, so GCC never compiles it and doesn't
notice that the return type is invalid. That's allowed by the
standard. The compiler is not required to diagnose ill-formed code in
uninstantiated templates.



UPDATE: My bad.
The original compiler feature detection on the test suite was broken/not matching the correct libstdc++ versions.
Hence the emplace_back/emplace_front tests were not running.
However, it does surprise me that GCC doesn't check this code.
Cheers-

Reply via email to