diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/traits/issue-77982.stderr | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/test/ui/traits/issue-77982.stderr b/src/test/ui/traits/issue-77982.stderr new file mode 100644 index 000000000..2b832e27c --- /dev/null +++ b/src/test/ui/traits/issue-77982.stderr @@ -0,0 +1,96 @@ +error[E0283]: type annotations needed + --> $DIR/issue-77982.rs:8:10 + | +LL | opts.get(opt.as_ref()); + | ^^^ cannot infer type of the type parameter `Q` declared on the associated function `get` + | + = note: multiple `impl`s satisfying `String: Borrow<_>` found in the following crates: `alloc`, `core`: + - impl Borrow<str> for String; + - impl<T> Borrow<T> for T + where T: ?Sized; +note: required by a bound in `HashMap::<K, V, S>::get` + --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL + | +LL | K: Borrow<Q>, + | ^^^^^^^^^ required by this bound in `HashMap::<K, V, S>::get` +help: consider specifying the type argument in the function call + | +LL | opts.get::<Q>(opt.as_ref()); + | +++++ + +error[E0283]: type annotations needed + --> $DIR/issue-77982.rs:8:10 + | +LL | opts.get(opt.as_ref()); + | ^^^ ------ type must be known at this point + | | + | cannot infer type of the type parameter `Q` declared on the associated function `get` + | + = note: multiple `impl`s satisfying `String: AsRef<_>` found in the following crates: `alloc`, `std`: + - impl AsRef<OsStr> for String; + - impl AsRef<Path> for String; + - impl AsRef<[u8]> for String; + - impl AsRef<str> for String; +help: consider specifying the generic argument + | +LL | opts.get::<Q>(opt.as_ref()); + | +++++ + +error[E0283]: type annotations needed + --> $DIR/issue-77982.rs:13:59 + | +LL | let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect(); + | --------- ^^^^ + | | + | type must be known at this point + | + = note: multiple `impl`s satisfying `u32: From<_>` found in the following crates: `core`, `std`: + - impl From<Ipv4Addr> for u32; + - impl From<NonZeroU32> for u32; + - impl From<bool> for u32; + - impl From<char> for u32; + and 3 more +help: try using a fully qualified path to specify the expected types + | +LL | let ips: Vec<_> = (0..100_000).map(|_| u32::from(<u32 as Into<T>>::into(0u32))).collect(); + | +++++++++++++++++++++++ ~ + +error[E0283]: type annotations needed for `Box<T>` + --> $DIR/issue-77982.rs:36:9 + | +LL | let _ = ().foo(); + | ^ --- type must be known at this point + | +note: multiple `impl`s satisfying `(): Foo<'_, _>` found + --> $DIR/issue-77982.rs:29:1 + | +LL | impl Foo<'static, u32> for () {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +LL | impl<'a> Foo<'a, i16> for () {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +help: consider giving this pattern a type, where the type for type parameter `T` is specified + | +LL | let _: Box<T> = ().foo(); + | ++++++++ + +error[E0283]: type annotations needed for `Box<T>` + --> $DIR/issue-77982.rs:40:9 + | +LL | let _ = (&()).bar(); + | ^ --- type must be known at this point + | +note: multiple `impl`s satisfying `&(): Bar<'_, _>` found + --> $DIR/issue-77982.rs:32:1 + | +LL | impl<'a> Bar<'static, u32> for &'a () {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +LL | impl<'a> Bar<'a, i16> for &'a () {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +help: consider giving this pattern a type, where the type for type parameter `T` is specified + | +LL | let _: Box<T> = (&()).bar(); + | ++++++++ + +error: aborting due to 5 previous errors + +For more information about this error, try `rustc --explain E0283`. |