alexander-shaposhnikov added a comment. for
template <typename T1> struct X { template <int I2> struct Y { int f() requires(I2 == 1) { return 1; } int f() requires(I2 == 2) { return 1; } }; }; this would print the following: NumRetainedOuterLevels: 0 0: <T1> 1: <I2> ================ Comment at: clang/include/clang/Sema/Template.h:271 + llvm::errs() << "NumRetainedOuterLevels: " << NumRetainedOuterLevels << "\n"; + for (unsigned Depth = NumRetainedOuterLevels; Depth < getNumLevels(); ++Depth) { + llvm::errs() << Depth << ": "; ---------------- https://github.com/llvm/llvm-project/blob/2279f77d2855d9caa0ece466462d34bcfdf4fb3d/clang/include/clang/Sema/Template.h#L155 (just in case) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D147744/new/ https://reviews.llvm.org/D147744 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits