[all-commits] [llvm/llvm-project] e6974d: [Clang][Concepts] Fix the constraint equivalence c...
Younan Zhang via All-commits
all-commits at lists.llvm.org
Sun Aug 25 23:30:47 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e6974daa7bc100c8b88057d50f3ec3eca7282243
https://github.com/llvm/llvm-project/commit/e6974daa7bc100c8b88057d50f3ec3eca7282243
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-08-26 (Mon, 26 Aug 2024)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[Clang][Concepts] Fix the constraint equivalence checking involving parameter packs (#102131)
We established an instantiation scope in order for constraint
equivalence checking to properly map the uninstantiated parameters.
That mechanism mapped even packs to themselves. Consequently, parameter
packs e.g. appearing in a function call, were not expanded. So they
would end up becoming `SubstTemplateTypeParmPackType`s that circularly
depend on the canonical declaration of the function template, which is
not yet determined, hence the spurious error.
No release note as I plan to backport it to 19.
Fixes https://github.com/llvm/llvm-project/issues/101735
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list