aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-04-17 14:13:12 +0000
committerGitHub <noreply@github.com>2021-04-17 14:13:12 +0000
commit3ee4bf774c517b25baaec0863550ab6c52f4b120 (patch)
treedf68e45a223e5bf57353118fc780a3f0ce037c45 /gcc/rust/backend
parent935aff52a66a70e1e96f0a6aa7e0ad37eda3f93c (diff)
parentee247029acfaee991660ff14c85f7146b9040511 (diff)
downloadgcc-3ee4bf774c517b25baaec0863550ab6c52f4b120.zip
gcc-3ee4bf774c517b25baaec0863550ab6c52f4b120.tar.gz
gcc-3ee4bf774c517b25baaec0863550ab6c52f4b120.tar.bz2
Merge #377
377: Fix crash when mapping of Generic argument changes. r=philberty a=philberty When we have a struct Foo <T>(T) but the fntype in impl block is different fn <X> Bar(a:X) -> Foo<X>(X) { } we must take advantage of the adjustment code in the substitution mapper. This affects MethodCallExpr and PathInExpressions where it used to resolve the root segment and leave the arguments as inference variables when we lack a segement with generic arguments. This also fixes a bug in name resolution where the Self keyword resolved to the struct/type the impl block resolves to but it needed to resolve to the impl block type explicitly which ensures the parameter mappings reflect what the parent impl block is. Fixes: #376 Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend')
0 files changed, 0 insertions, 0 deletions