aaron.ballman added inline comments.
================ Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:4718-4719 +def note_ovl_surrogate_constraints_not_satisfied : Note< + "candidate surrogate function %0 not viable: constraints " + "not satisfied">; def note_implicit_member_target_infer_collision : Note< ---------------- I think "candidate surrogate function" is a bit... technical for a user-facing diagnostic (we don't seem to use it any other diagnostics). Perhaps we should go with `conversion candidate function` instead as we did for `note_ovl_surrogate_cand`? ================ Comment at: clang/lib/Sema/SemaConcept.cpp:685 + // (and may refer to its parameters), so check the call operator instead. + if (const CXXConversionDecl *MD = dyn_cast<CXXConversionDecl>(FD); + MD && isLambdaConversionOperator(const_cast<CXXConversionDecl *>(MD))) ---------------- ================ Comment at: clang/lib/Sema/SemaLambda.cpp:1636-1638 + // A non-generic lambda may still be a templated entity + // We need to preserve constraints when converting the + // lambda to a function pointer. See GH63181. ---------------- ================ Comment at: clang/lib/Sema/SemaOverload.cpp:14973 + // conversion operator as the constraints are always the same. + // As the user probably do not intend to perform a surrogate call, + // we filter them out to produce better error diagnostics, ie to avoid ---------------- Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154368/new/ https://reviews.llvm.org/D154368 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits