diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-10-14 09:31:25 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-14 09:31:25 +0000 |
commit | c85492954ded963d937de1fa8731be0718d117eb (patch) | |
tree | e8ff7ab3eff4e48ce02f8084547ad31d73fb8c5a /gcc/rust/backend/rust-compile-expr.cc | |
parent | 84ca2f9123a7d5206d70d5b3bdc18d98c0cee2e0 (diff) | |
parent | 9bac2dbfe999b0dffea65b9a1b6ed0a257edf3c8 (diff) | |
download | gcc-c85492954ded963d937de1fa8731be0718d117eb.zip gcc-c85492954ded963d937de1fa8731be0718d117eb.tar.gz gcc-c85492954ded963d937de1fa8731be0718d117eb.tar.bz2 |
Merge #1587
1587: Method resolution must support multiple candidates r=philberty a=philberty
This patch fixes bad method resolution in our operator_overload_9 case.
When we have a &mut reference to something and we deref we must resolve to
the mutable reference impl block. The interface we are using to resolve
methods is the can_eq interface which allows for permissive mutability
which means allowing for mutable reference being unified with an immutable
one. This meant we actual match against both the immutable and mutable
version leading to multiple candidate error.
Fixes #1588
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend/rust-compile-expr.cc')
0 files changed, 0 insertions, 0 deletions