diff --git a/compiler/rustc_resolve/src/diagnostics.rs b/compiler/rustc_resolve/src/diagnostics.rs index 57acca16d94a..ccfab263bd48 100644 --- a/compiler/rustc_resolve/src/diagnostics.rs +++ b/compiler/rustc_resolve/src/diagnostics.rs @@ -1823,7 +1823,6 @@ crate fn show_candidates( let instead = if instead { " instead" } else { "" }; let mut msg = format!("consider importing {} {}{}", determiner, kind, instead); - // Issue notes for note in accessible_path_strings.iter().map(|cand| cand.3.as_ref()).flatten() { err.note(note); } diff --git a/src/test/ui/suggestions/suggest-tryinto-edition-change.rs b/src/test/ui/suggestions/suggest-tryinto-edition-change.rs index e62990144c4c..f03b42bbe475 100644 --- a/src/test/ui/suggestions/suggest-tryinto-edition-change.rs +++ b/src/test/ui/suggestions/suggest-tryinto-edition-change.rs @@ -2,28 +2,30 @@ // Edition 2021 change // edition:2018 -// We mark this no_std to avoid emitting suggestions for both `std` and `core` traits. These were -// inconsistently ordered between CI and at least one local build, causing test failures. -#![no_std] -#![crate_type = "lib"] - -pub fn test() { - let _i: Result = 0_i32.try_into(); +fn test() { + let _i: i16 = 0_i32.try_into().unwrap(); //~^ ERROR no method named `try_into` found for type `i32` in the current scope //~| NOTE method not found in `i32` - //~| NOTE 'core::convert::TryInto' is included in the prelude starting in Edition 2021 + //~| NOTE 'std::convert::TryInto' is included in the prelude starting in Edition 2021 - let _i: Result = TryFrom::try_from(0_i32); + let _i: i16 = TryFrom::try_from(0_i32).unwrap(); //~^ ERROR failed to resolve: use of undeclared type //~| NOTE not found in this scope + //~| NOTE 'std::convert::TryFrom' is included in the prelude starting in Edition 2021 //~| NOTE 'core::convert::TryFrom' is included in the prelude starting in Edition 2021 - let _i: Result = TryInto::try_into(0_i32); + let _i: i16 = TryInto::try_into(0_i32).unwrap(); //~^ ERROR failed to resolve: use of undeclared type //~| NOTE not found in this scope + //~| NOTE 'std::convert::TryInto' is included in the prelude starting in Edition 2021 //~| NOTE 'core::convert::TryInto' is included in the prelude starting in Edition 2021 - let _i: () = FromIterator::from_iter(core::iter::empty()); + let _v: Vec<_> = FromIterator::from_iter(&[1]); //~^ ERROR failed to resolve: use of undeclared type + //~| NOTE 'std::iter::FromIterator' is included in the prelude starting in Edition 2021 //~| NOTE 'core::iter::FromIterator' is included in the prelude starting in Edition 2021 } + +fn main() { + test(); +} diff --git a/src/test/ui/suggestions/suggest-tryinto-edition-change.stderr b/src/test/ui/suggestions/suggest-tryinto-edition-change.stderr index e27c532dcf0e..86f48716b16b 100644 --- a/src/test/ui/suggestions/suggest-tryinto-edition-change.stderr +++ b/src/test/ui/suggestions/suggest-tryinto-edition-change.stderr @@ -1,53 +1,62 @@ error[E0433]: failed to resolve: use of undeclared type `TryFrom` - --> $DIR/suggest-tryinto-edition-change.rs:16:30 + --> $DIR/suggest-tryinto-edition-change.rs:11:19 | -LL | let _i: Result = TryFrom::try_from(0_i32); - | ^^^^^^^ not found in this scope +LL | let _i: i16 = TryFrom::try_from(0_i32).unwrap(); + | ^^^^^^^ not found in this scope | + = note: 'std::convert::TryFrom' is included in the prelude starting in Edition 2021 = note: 'core::convert::TryFrom' is included in the prelude starting in Edition 2021 -help: consider importing this trait +help: consider importing one of these items | LL | use core::convert::TryFrom; | +LL | use std::convert::TryFrom; + | error[E0433]: failed to resolve: use of undeclared type `TryInto` - --> $DIR/suggest-tryinto-edition-change.rs:21:30 + --> $DIR/suggest-tryinto-edition-change.rs:17:19 | -LL | let _i: Result = TryInto::try_into(0_i32); - | ^^^^^^^ not found in this scope +LL | let _i: i16 = TryInto::try_into(0_i32).unwrap(); + | ^^^^^^^ not found in this scope | + = note: 'std::convert::TryInto' is included in the prelude starting in Edition 2021 = note: 'core::convert::TryInto' is included in the prelude starting in Edition 2021 -help: consider importing this trait +help: consider importing one of these items | LL | use core::convert::TryInto; | +LL | use std::convert::TryInto; + | error[E0433]: failed to resolve: use of undeclared type `FromIterator` - --> $DIR/suggest-tryinto-edition-change.rs:26:18 + --> $DIR/suggest-tryinto-edition-change.rs:23:22 | -LL | let _i: () = FromIterator::from_iter(core::iter::empty()); - | ^^^^^^^^^^^^ +LL | let _v: Vec<_> = FromIterator::from_iter(&[1]); + | ^^^^^^^^^^^^ | ::: $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL | LL | pub trait IntoIterator { | ---------------------- similarly named trait `IntoIterator` defined here | + = note: 'std::iter::FromIterator' is included in the prelude starting in Edition 2021 = note: 'core::iter::FromIterator' is included in the prelude starting in Edition 2021 help: a trait with a similar name exists | -LL | let _i: () = IntoIterator::from_iter(core::iter::empty()); - | ~~~~~~~~~~~~ -help: consider importing this trait +LL | let _v: Vec<_> = IntoIterator::from_iter(&[1]); + | ~~~~~~~~~~~~ +help: consider importing one of these items | LL | use core::iter::FromIterator; | +LL | use std::iter::FromIterator; + | error[E0599]: no method named `try_into` found for type `i32` in the current scope - --> $DIR/suggest-tryinto-edition-change.rs:11:36 + --> $DIR/suggest-tryinto-edition-change.rs:6:25 | -LL | let _i: Result = 0_i32.try_into(); - | ^^^^^^^^ method not found in `i32` +LL | let _i: i16 = 0_i32.try_into().unwrap(); + | ^^^^^^^^ method not found in `i32` | ::: $SRC_DIR/core/src/convert/mod.rs:LL:COL | @@ -55,10 +64,10 @@ LL | fn try_into(self) -> Result; | -------- the method is available for `i32` here | = help: items from traits can only be used if the trait is in scope - = note: 'core::convert::TryInto' is included in the prelude starting in Edition 2021 + = note: 'std::convert::TryInto' is included in the prelude starting in Edition 2021 help: the following trait is implemented but not in scope; perhaps add a `use` for it: | -LL | use core::convert::TryInto; +LL | use std::convert::TryInto; | error: aborting due to 4 previous errors