https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94003
Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |41437

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Almost certainly due to one of the bugs linked to PR 59002, probably PR 41437.

Inside the function template access checking doesn't work properly, so you can
use the private constructor, and the first instantiation of the trait gives the
wrong answer:

template <typename X> static bool why() {
  Class c;
  return std::is_constructible<Class>::value;
}

Then when the trait is rechecked later it has already been instantiated, and so
continues to give the wrong answer.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41437
[Bug 41437] No access control for classes in template functions

Reply via email to