https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100078
Bug ID: 100078 Summary: [11 Regression] Rejected code since r11-8137-g84081e2c6bd43a67 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jason at gcc dot gnu.org Target Milestone: --- The following is reduced from webkit2gtk3 package: $ cat 2to3.ii template <bool> struct enable_if; template <typename Data> struct HashMapBucket { template <typename T = Data> static typename enable_if<T ::value>::type selectStructure() { selectStructure(); } }; $ g++ 2to3.ii -c 2to3.ii: In static member function ‘static typename enable_if<T::value>::type HashMapBucket<Data>::selectStructure()’: 2to3.ii:5:20: error: no matching function for call to ‘HashMapBucket<Data>::selectStructure()’ 5 | selectStructure(); | ~~~~~~~~~~~~~~~^~ 2to3.ii:4:46: note: candidate: ‘template<class Data> template<class T> static typename enable_if<T::value>::type HashMapBucket<Data>::selectStructure()’ 4 | static typename enable_if<T ::value>::type selectStructure() { | ^~~~~~~~~~~~~~~ 2to3.ii:4:46: note: template argument deduction/substitution failed: