https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85128
Bug ID: 85128 Summary: Local scope type(def) falsely assumed to change meaning of outer scope type(def) Product: gcc Version: 6.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: steffen at sdaoden dot eu Target Milestone: --- Hi, my first post here. So i have no idea, all i can say is what the subject says, that clang gets it right, and here is the error message: g++ -DNDEBUG -DOPTIMIZE -Wall -W -Wno-long-long -pedantic -fno-exceptions -fno-rtti -DPIC -fpic -I./ -fomit-frame-pointer -O2 -c -o .obj/d2.o src/smp/x_signal.cc In file included from ./sf/sys/cp.h:30:0, from ./src/x_posix.h:133, from src/smp/x_signal.cc:46: ./sf/sys/coll/teacher.h:146:32: error: declaration of 'typedef class SF::Sys::Coll::AutoToolbox<T> SF::Sys::Coll::TypeTraits<T>::AutoToolbox' [-fpermissive] pub typedef AutoToolbox<Type> AutoToolbox; ^~~~~~~~~~~ In file included from ./sf/sys/coll/teacher.h:29:0, from ./sf/sys/cp.h:30, from ./src/x_posix.h:133, from src/smp/x_signal.cc:46: ./sf/sys/coll/forwards.h:61:25: error: changes meaning of 'AutoToolbox' from 'class SF::Sys::Coll::AutoToolbox<T>' [-fpermissive] template<class T> class AutoToolbox; ^~~~~~~~~~~