1 error[E0308]: mismatched types
2 --> $DIR/shadowed-lplace-method-2.rs:22:17
5 | --------- ^^ expected struct `X`, found `()`
7 | expected due to the type of this binding
9 note: the `foo` call is resolved to the method in `X`, shadowing the method of the same name on trait `A`
10 --> $DIR/shadowed-lplace-method-2.rs:22:8
13 | ^^^ refers to `X::foo`
14 help: you might have meant to call the other method; you can use the fully-qualified path to call it explicitly
16 LL | *<_ as A>::foo(&mut x, 0) = ();
17 | ++++++++++++++++++ ~
18 help: try wrapping the expression in `X`
20 LL | *x.foo(0) = X { x: () };
23 error: aborting due to previous error
25 For more information about this error, try `rustc --explain E0308`.