[clang] [clang] Consistently cache failed constraint normalization (PR #227086)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 29 00:00:59 PDT 2026


================
@@ -2532,17 +2534,13 @@ const NormalizedConstraint *Sema::getNormalizedAssociatedConstraints(
   if (CacheEntry == NormalizationCache.end()) {
     auto *Normalized = NormalizedConstraint::fromAssociatedConstraints(
         *this, ND, AssociatedConstraints);
-    if (!Normalized) {
-      NormalizationCache.try_emplace(ConstrainedDeclOrNestedReq, nullptr);
-      return nullptr;
-    }
     // substitute() can invalidate iterators of NormalizationCache.
-    bool Failed = SubstituteParameterMappings(*this).substitute(*Normalized);
+    if (Normalized &&
----------------
zyn0217 wrote:

Yes, I followed that quirk when I wrote this...

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


More information about the cfe-commits mailing list