From daeec7e22de6a99a5440ddf401f3fc16756cd64a Mon Sep 17 00:00:00 2001 From: Takayuki Maeda <41065217+TaKO8Ki@users.noreply.github.com> Date: Wed, 11 May 2022 19:18:02 +0900 Subject: stop suggesting non-existing fully qualified paths --- ...ot-suggest-non-existing-fully-qualified-path.rs | 24 +++++++++++++++ ...uggest-non-existing-fully-qualified-path.stderr | 35 ++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs create mode 100644 src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr (limited to 'src') diff --git a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs b/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs new file mode 100644 index 00000000000..538e74ee1b0 --- /dev/null +++ b/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.rs @@ -0,0 +1,24 @@ +struct A(T); +struct B; + +trait I {} +impl I for B {} +impl I for B {} + +trait V { + fn method(self) -> U; +} + +impl V for A +where + T: I, +{ + fn method(self) -> U { unimplemented!() } +} + +fn main() { + let a = A(B); + a.method(); + //~^ ERROR type annotations needed + //~| ERROR type annotations needed +} diff --git a/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr b/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr new file mode 100644 index 00000000000..65f2d99417f --- /dev/null +++ b/src/test/ui/traits/not-suggest-non-existing-fully-qualified-path.stderr @@ -0,0 +1,35 @@ +error[E0282]: type annotations needed + --> $DIR/not-suggest-non-existing-fully-qualified-path.rs:21:7 + | +LL | a.method(); + | --^^^^^^-- + | | | + | | cannot infer type for type parameter `U` declared on the trait `V` + | this method call resolves to `U` + +error[E0283]: type annotations needed + --> $DIR/not-suggest-non-existing-fully-qualified-path.rs:21:7 + | +LL | a.method(); + | --^^^^^^-- + | | | + | | cannot infer type for type parameter `U` + | this method call resolves to `U` + | +note: multiple `impl`s satisfying `B: I<_>` found + --> $DIR/not-suggest-non-existing-fully-qualified-path.rs:5:1 + | +LL | impl I for B {} + | ^^^^^^^^^^^^^^^^^ +LL | impl I for B {} + | ^^^^^^^^^^^^^^^^^ +note: required because of the requirements on the impl of `V<_>` for `A` + --> $DIR/not-suggest-non-existing-fully-qualified-path.rs:12:12 + | +LL | impl V for A + | ^^^^ ^^^^ + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0282, E0283. +For more information about an error, try `rustc --explain E0282`. -- cgit 1.4.1-3-g733a5