diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-03-17 10:23:04 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-17 10:23:04 +0000 |
commit | fe13ad49b1da5285719b176bb5d00a94b9260ebf (patch) | |
tree | 7753f3b23d66655b6766159e0df3206ed594e164 /gcc/rust/parse/rust-parse.cc | |
parent | bb234b080a5be332bbe67d9920a65959124088e7 (diff) | |
parent | 8086790254d0adaad48405ee838b8ca699e9d9a8 (diff) | |
download | gcc-fe13ad49b1da5285719b176bb5d00a94b9260ebf.zip gcc-fe13ad49b1da5285719b176bb5d00a94b9260ebf.tar.gz gcc-fe13ad49b1da5285719b176bb5d00a94b9260ebf.tar.bz2 |
Merge #1030
1030: Rewrite our unconstrained type-param error checking r=philberty a=philberty
This is a series of patches that were all required to fix this issue. We
now take advantage of our substitutions abstractions and traits
so that our TypeBoundPredicate's which form the basis of our HRTB code
I think this class is almost akin to rustc existential-trait-references. This now
reuses the same code path to give us the same error checking for generics
as we get with ADT's, functions etc.
With this refactoring in place we can then reuse the abstractions to map the
ID's from the used arguments in the type-bound-predicate, the impl block type
substation mappings and the self type itself.
There are quite a few cases to handle and our testsuite picked up all the regressions
so no behaviour of our existing test-cases have changed now. See each commit for
more detailed information.
Fixes #1019
Addresses #849
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse.cc')
0 files changed, 0 insertions, 0 deletions