https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91000
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Federico Kircheis from comment #2) > (In reply to Jonathan Wakely from comment #1) > > This would be more appropriate on the gcc-help mailing list, as you're > > asking a question not reporting a bug. > > > > The behaviour is as intended, for all -std versions. The standard was > > changed to remove this feature and no other compilers implemented it anyway. > > Well I'm actually reporting a regression, since g++ is not c++11 and c++14 > standard compliant and it's behaviour changed from previous versions. And as you already know, this is the intended behaviour. > I've discovered through https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87603 > that it was not by accident (I guess with dialect are meant the different > c++ versions), but there is no motivation why the regression was introduced > by design. As I explained in PR 87603 comment 6, and as the patch https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00466.html says, the old behaviour triggers unwanted instantiations and so causes valid code to not compile. The old behaviour was not consistently implemented by other compilers so was never portable anyway. The C++ committee decided that the old behaviour was not desirable, and removed it. How many reasons do you need?