diff --git a/src/lib/AST/ASTVisitor.cpp b/src/lib/AST/ASTVisitor.cpp index 3ea94710a..8fdd8196b 100644 --- a/src/lib/AST/ASTVisitor.cpp +++ b/src/lib/AST/ASTVisitor.cpp @@ -1716,6 +1716,11 @@ class ASTVisitor return true; continue; } + // if the class inherits from itself, we can't determine whether + // it's a SFINAE type + if(declaresSameEntity(TD, sfinae_info->Template)) + return true; + auto sfinae_result = isSFINAETemplate( sfinae_info->Template, Member); if(! sfinae_result)