Commit eae5075
committed
[clang] Use canonical type for substitution which might be incomplete
When checking deduction consistency, a substitution can be incomplete
such that only sugar parts refer to non-deduced template parameters.
This would not otherwise lead to an inconsistent deduction, so
this patch makes it so we canonicalize the types before substitution
in order to avoid that possibility, for now.
When we are able to produce substitution failure diagnostics for
partial ordering, we might want to improve the TemplateInstantiator
so that it does not fail in that case.
This fixes a regression on top of #100692, which was reported on
the PR. This was never released, so there are no release notes.1 parent 39a4b32 commit eae5075
File tree
2 files changed
+14
-2
lines changed- clang
- lib/Sema
- test/SemaTemplate
2 files changed
+14
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5505 | 5505 | | |
5506 | 5506 | | |
5507 | 5507 | | |
5508 | | - | |
5509 | | - | |
| 5508 | + | |
| 5509 | + | |
| 5510 | + | |
| 5511 | + | |
| 5512 | + | |
5510 | 5513 | | |
5511 | 5514 | | |
5512 | 5515 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
0 commit comments