diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/type/type-check/point-at-inference-4.rs | 21 | ||||
| -rw-r--r-- | tests/ui/type/type-check/point-at-inference-4.stderr | 31 |
2 files changed, 52 insertions, 0 deletions
diff --git a/tests/ui/type/type-check/point-at-inference-4.rs b/tests/ui/type/type-check/point-at-inference-4.rs new file mode 100644 index 00000000000..7903e9e83cf --- /dev/null +++ b/tests/ui/type/type-check/point-at-inference-4.rs @@ -0,0 +1,21 @@ +struct S<A, B>(Option<(A, B)>); + +impl<A, B> S<A, B> { + fn infer(&self, a: A, b: B) {} + //~^ NOTE associated function defined here + //~| NOTE + //~| NOTE +} + +fn main() { + let s = S(None); + s.infer(0i32); + //~^ ERROR this method takes 2 arguments but 1 argument was supplied + //~| NOTE an argument is missing + //~| HELP provide the argument + let t: S<u32, _> = s; + //~^ ERROR mismatched types + //~| NOTE expected `S<u32, _>`, found `S<i32, _>` + //~| NOTE expected due to this + //~| NOTE expected struct `S<u32, _>` +} diff --git a/tests/ui/type/type-check/point-at-inference-4.stderr b/tests/ui/type/type-check/point-at-inference-4.stderr new file mode 100644 index 00000000000..fac9701e4a1 --- /dev/null +++ b/tests/ui/type/type-check/point-at-inference-4.stderr @@ -0,0 +1,31 @@ +error[E0061]: this method takes 2 arguments but 1 argument was supplied + --> $DIR/point-at-inference-4.rs:12:7 + | +LL | s.infer(0i32); + | ^^^^^------ an argument is missing + | +note: associated function defined here + --> $DIR/point-at-inference-4.rs:4:8 + | +LL | fn infer(&self, a: A, b: B) {} + | ^^^^^ ---- ---- +help: provide the argument + | +LL | s.infer(0i32, /* b */); + | ~~~~~~~~~~~~~~~ + +error[E0308]: mismatched types + --> $DIR/point-at-inference-4.rs:16:24 + | +LL | let t: S<u32, _> = s; + | --------- ^ expected `S<u32, _>`, found `S<i32, _>` + | | + | expected due to this + | + = note: expected struct `S<u32, _>` + found struct `S<i32, _>` + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0061, E0308. +For more information about an error, try `rustc --explain E0061`. |
