Unverified Commit 2e1ad939 authored by Matheus Izvekov's avatar Matheus Izvekov Committed by GitHub
Browse files

[clang] fix broken canonicalization of DeducedTemplateSpecializationType (#95202)

This reverts the functional elements of commit
3e78fa86 and redoes it, by fixing the
true root cause of #61317.

A TemplateName can be non-canonical; profiling it based on the canonical
name would result in inconsistent preservation of as-written information
in the AST.

The true problem in #61317 is that we would not consider the methods
with requirements expression which contain DTSTs as the same in relation
to merging of declarations when importing modules.

The expressions would never match because they contained DTSTs pointing
to different redeclarations of the same class template, but since
canonicalization for them was broken, their canonical types would not
match either.

---

No changelog entry because #61317 was already claimed as fixed in
previous release.
parent b06da39c
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment