aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve
diff options
context:
space:
mode:
authorPhilip Herron <herron.philip@googlemail.com>2023-06-20 19:41:42 +0100
committerPhilip Herron <philip.herron@embecosm.com>2023-06-21 09:00:30 +0000
commit065d8c4d79d180f26f51d4e6d88a99a348113906 (patch)
treed089c4966f48a996cbbcf440add7fc1d2f48adba /gcc/rust/resolve
parent8e2619254f7f53d2637148a13e1d5c8e26447c41 (diff)
downloadgcc-065d8c4d79d180f26f51d4e6d88a99a348113906.zip
gcc-065d8c4d79d180f26f51d4e6d88a99a348113906.tar.gz
gcc-065d8c4d79d180f26f51d4e6d88a99a348113906.tar.bz2
gccrs: Apply generic arguments to the respective trait bounds
When we have an impl block for a generic type such as T which is a generic type which does not 'bind' generic arguments, which means its not a type such as an ADT or Fn which holds generic parameter mappings we need to ensure inference variables are applied to the segment type apropriately so that inference variables unified correctly and the higher ranked trait bounds are as well. Fixes: #1893 gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::ResolveImplBlockSelfWithInference): arguments mappings as an out parameter and apply them to the bounds * typecheck/rust-hir-type-check-item.h: update the prototype * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_segments): apply the arguments to the segment type gcc/testsuite/ChangeLog: * rust/compile/issue-1893.rs: fully compile the test case Signed-off-by: Philip Herron <herron.philip@googlemail.com>
Diffstat (limited to 'gcc/rust/resolve')
0 files changed, 0 insertions, 0 deletions