================ @@ -13649,10 +13649,29 @@ TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr *E) { // use evaluation contexts to distinguish the function parameter case. CXXRecordDecl::LambdaDependencyKind DependencyKind = CXXRecordDecl::LDK_Unknown; + DeclContext *DC = getSema().CurContext; + // A RequiresExprBodyDecl is not interesting for dependencies. + // For the following case, + // + // template <typename> + // concept C = requires { [] {}; }; + // + // template <class F> + // struct Widget; + // + // template <C F> + // struct Widget<F> {}; + // + // While we are here in substitution for Widget<F>, the parent of DC would be + // the template specialization itself. Thus, the lambda expression + // will be deemed as dependent even if we have non-dependent template + // arguments. ---------------- cor3ntin wrote:
```suggestion // will be deemed as dependent even if there is are no dependent template // arguments. ``` https://github.com/llvm/llvm-project/pull/83997 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits