diff options
Diffstat (limited to 'tests/ui/suggestions/shadowed-lplace-method-2.rs')
-rw-r--r-- | tests/ui/suggestions/shadowed-lplace-method-2.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/suggestions/shadowed-lplace-method-2.rs b/tests/ui/suggestions/shadowed-lplace-method-2.rs new file mode 100644 index 000000000..dab99fbac --- /dev/null +++ b/tests/ui/suggestions/shadowed-lplace-method-2.rs @@ -0,0 +1,23 @@ +#![allow(unused)] + +struct X { + x: (), +} +pub trait A { + fn foo(&mut self, _: usize) -> &mut (); +} +impl A for X { + fn foo(&mut self, _: usize) -> &mut () { + &mut self.x + } +} +impl X { + fn foo(&mut self, _: usize) -> &mut Self { + self + } +} + +fn main() { + let mut x = X { x: () }; + *x.foo(0) = (); //~ ERROR E0308 +} |