https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91609
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2019-09-07 CC| |mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- clang++ doesn't compile this, either: $ clang++ -c 91609.C 91609.C:16:9: error: C++ requires a type specifier for all declarations friend result; ~~~~~~ ^ 91609.C:16:9: error: friends can only be classes or functions 91609.C:9:66: error: 'type' is a private member of 'traits_template<int>' class complicated : underlying_thing<typename TraitsTemplate<T>::type> {}; ^ 91609.C:21:36: note: in instantiation of template class 'complicated<int, traits_template>' requested here traits_template<int>::result_type foo; ^ 91609.C:13:8: note: implicitly declared private here using type = T; ^ 3 errors generated.