[clang] In ExprRequirement building, treat OverloadExpr as dependent (PR #66683)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 18 11:47:31 PDT 2023


================
@@ -9063,7 +9063,8 @@ Sema::BuildExprRequirement(
     concepts::ExprRequirement::ReturnTypeRequirement ReturnTypeRequirement) {
   auto Status = concepts::ExprRequirement::SS_Satisfied;
   ConceptSpecializationExpr *SubstitutedConstraintExpr = nullptr;
-  if (E->isInstantiationDependent() || ReturnTypeRequirement.isDependent())
+  if (E->isInstantiationDependent() || E->getType()->isPlaceholderType() ||
+      ReturnTypeRequirement.isDependent())
----------------
erichkeane wrote:

This makes sense in my head, as what is currently an unresolved overload expr(or other overload expr) could potentially become legal after instantiation I think?  So this should result in this being instantiated later/checked for correctness then.

https://github.com/llvm/llvm-project/pull/66683


More information about the cfe-commits mailing list