diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/inference/dont-collect-stmts-from-parent-body.rs | 15 | ||||
| -rw-r--r-- | tests/ui/inference/dont-collect-stmts-from-parent-body.stderr | 24 |
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/inference/dont-collect-stmts-from-parent-body.rs b/tests/ui/inference/dont-collect-stmts-from-parent-body.rs new file mode 100644 index 00000000000..635fe74b867 --- /dev/null +++ b/tests/ui/inference/dont-collect-stmts-from-parent-body.rs @@ -0,0 +1,15 @@ +// issue: rust-lang/rust#124022 + +struct Type<T>; +//~^ ERROR type parameter `T` is never used + +fn main() { + { + impl<T> Type<T> { + fn new() -> Type<T> { + Type + //~^ ERROR type annotations needed + } + } + }; +} diff --git a/tests/ui/inference/dont-collect-stmts-from-parent-body.stderr b/tests/ui/inference/dont-collect-stmts-from-parent-body.stderr new file mode 100644 index 00000000000..f82527273fb --- /dev/null +++ b/tests/ui/inference/dont-collect-stmts-from-parent-body.stderr @@ -0,0 +1,24 @@ +error[E0392]: type parameter `T` is never used + --> $DIR/dont-collect-stmts-from-parent-body.rs:3:13 + | +LL | struct Type<T>; + | ^ unused type parameter + | + = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData` + = help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead + +error[E0282]: type annotations needed + --> $DIR/dont-collect-stmts-from-parent-body.rs:10:17 + | +LL | Type + | ^^^^ cannot infer type of the type parameter `T` declared on the struct `Type` + | +help: consider specifying the generic argument + | +LL | Type::<T> + | +++++ + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0282, E0392. +For more information about an error, try `rustc --explain E0282`. |
