No longer ICEs. No, with the new parser, we get the message Test.cpp: At global scope: Test.cpp:23: error: return type specification for constructor invalid Wow. It's interpreting the *entire class specification* as the return type for the constructor. That's non-intuitive. Leaving this bug open because of that.