diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2017-12-10 23:29:24 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2017-12-14 23:26:39 +0300 |
| commit | 1f5b201affc48dcf0b637caa9596c11d83e1db94 (patch) | |
| tree | eb7044df493bdd2882ee0051003e796202e6f5b0 /src/test/ui | |
| parent | d4e51a8fb286444a8c276a05a1c3ba6ba8ca6576 (diff) | |
| download | rust-1f5b201affc48dcf0b637caa9596c11d83e1db94.tar.gz rust-1f5b201affc48dcf0b637caa9596c11d83e1db94.zip | |
Remove NOTE/HELP annotations from UI tests
Diffstat (limited to 'src/test/ui')
462 files changed, 1756 insertions, 2814 deletions
diff --git a/src/test/ui/arbitrary-self-types-not-object-safe.rs b/src/test/ui/arbitrary-self-types-not-object-safe.rs index 6b10739bd8e..48918b996ef 100644 --- a/src/test/ui/arbitrary-self-types-not-object-safe.rs +++ b/src/test/ui/arbitrary-self-types-not-object-safe.rs @@ -39,12 +39,7 @@ impl Bar for usize { fn make_foo() { let x = Box::new(5usize) as Box<Foo>; //~^ ERROR E0038 - //~| NOTE method `foo` has a non-standard `self` type - //~| NOTE the trait `Foo` cannot be made into an object //~| ERROR E0038 - //~| NOTE method `foo` has a non-standard `self` type - //~| NOTE the trait `Foo` cannot be made into an object - //~| NOTE requirements on the impl of `std::ops::CoerceUnsized<std::boxed::Box<Foo>>` } fn make_bar() { diff --git a/src/test/ui/asm-out-assign-imm.rs b/src/test/ui/asm-out-assign-imm.rs index f2629fa52ff..49084e01a15 100644 --- a/src/test/ui/asm-out-assign-imm.rs +++ b/src/test/ui/asm-out-assign-imm.rs @@ -23,12 +23,11 @@ fn foo(x: isize) { println!("{}", x); } target_arch = "aarch64"))] pub fn main() { let x: isize; - x = 1; //~ NOTE first assignment + x = 1; foo(x); unsafe { asm!("mov $1, $0" : "=r"(x) : "r"(5)); //~^ ERROR cannot assign twice to immutable variable `x` - //~| NOTE cannot assign twice to immutable } foo(x); } diff --git a/src/test/ui/asm-out-assign-imm.stderr b/src/test/ui/asm-out-assign-imm.stderr index 642eb36e4cb..cf5486fec5f 100644 --- a/src/test/ui/asm-out-assign-imm.stderr +++ b/src/test/ui/asm-out-assign-imm.stderr @@ -1,7 +1,7 @@ error[E0384]: cannot assign twice to immutable variable `x` --> $DIR/asm-out-assign-imm.rs:29:9 | -26 | x = 1; //~ NOTE first assignment +26 | x = 1; | ----- first assignment to `x` ... 29 | asm!("mov $1, $0" : "=r"(x) : "r"(5)); diff --git a/src/test/ui/associated-const-impl-wrong-lifetime.rs b/src/test/ui/associated-const-impl-wrong-lifetime.rs index 51681a4bb88..77653b27fb5 100644 --- a/src/test/ui/associated-const-impl-wrong-lifetime.rs +++ b/src/test/ui/associated-const-impl-wrong-lifetime.rs @@ -15,12 +15,8 @@ trait Foo { impl<'a> Foo for &'a () { -//~^ NOTE the lifetime 'a as defined const NAME: &'a str = "unit"; //~^ ERROR mismatched types [E0308] - //~| NOTE lifetime mismatch - //~| NOTE expected type `&'static str` - //~| NOTE ...does not necessarily outlive the static lifetime } fn main() {} diff --git a/src/test/ui/associated-const-impl-wrong-lifetime.stderr b/src/test/ui/associated-const-impl-wrong-lifetime.stderr index 7768d734bdb..a7aee9b19f1 100644 --- a/src/test/ui/associated-const-impl-wrong-lifetime.stderr +++ b/src/test/ui/associated-const-impl-wrong-lifetime.stderr @@ -1,7 +1,7 @@ error[E0308]: mismatched types - --> $DIR/associated-const-impl-wrong-lifetime.rs:19:5 + --> $DIR/associated-const-impl-wrong-lifetime.rs:18:5 | -19 | const NAME: &'a str = "unit"; +18 | const NAME: &'a str = "unit"; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected type `&'static str` @@ -10,12 +10,9 @@ note: the lifetime 'a as defined on the impl at 17:1... --> $DIR/associated-const-impl-wrong-lifetime.rs:17:1 | 17 | / impl<'a> Foo for &'a () { -18 | | //~^ NOTE the lifetime 'a as defined -19 | | const NAME: &'a str = "unit"; -20 | | //~^ ERROR mismatched types [E0308] -... | -23 | | //~| NOTE ...does not necessarily outlive the static lifetime -24 | | } +18 | | const NAME: &'a str = "unit"; +19 | | //~^ ERROR mismatched types [E0308] +20 | | } | |_^ = note: ...does not necessarily outlive the static lifetime diff --git a/src/test/ui/associated-const-impl-wrong-type.rs b/src/test/ui/associated-const-impl-wrong-type.rs index e38851ccd6f..240dfd16097 100644 --- a/src/test/ui/associated-const-impl-wrong-type.rs +++ b/src/test/ui/associated-const-impl-wrong-type.rs @@ -10,7 +10,7 @@ trait Foo { - const BAR: u32; //~ NOTE type in trait + const BAR: u32; } struct SignedBar; @@ -18,7 +18,6 @@ struct SignedBar; impl Foo for SignedBar { const BAR: i32 = -1; //~^ ERROR implemented const `BAR` has an incompatible type for trait [E0326] - //~| NOTE expected u32, found i32 } fn main() {} diff --git a/src/test/ui/associated-const-impl-wrong-type.stderr b/src/test/ui/associated-const-impl-wrong-type.stderr index 6ac734bb775..a2afe905cb5 100644 --- a/src/test/ui/associated-const-impl-wrong-type.stderr +++ b/src/test/ui/associated-const-impl-wrong-type.stderr @@ -1,7 +1,7 @@ error[E0326]: implemented const `BAR` has an incompatible type for trait --> $DIR/associated-const-impl-wrong-type.rs:19:16 | -13 | const BAR: u32; //~ NOTE type in trait +13 | const BAR: u32; | --- type in trait ... 19 | const BAR: i32 = -1; diff --git a/src/test/ui/associated-type-projection-from-multiple-supertraits.rs b/src/test/ui/associated-type-projection-from-multiple-supertraits.rs index b33bbfd8425..5536566c619 100644 --- a/src/test/ui/associated-type-projection-from-multiple-supertraits.rs +++ b/src/test/ui/associated-type-projection-from-multiple-supertraits.rs @@ -13,18 +13,12 @@ pub trait Vehicle { type Color; - //~^ NOTE ambiguous `Color` from `Vehicle` - //~| NOTE ambiguous `Color` from `Vehicle` - //~| NOTE ambiguous `Color` from `Vehicle` fn go(&self) { } } pub trait Box { type Color; - //~^ NOTE ambiguous `Color` from `Box` - //~| NOTE ambiguous `Color` from `Box` - //~| NOTE ambiguous `Color` from `Box` // fn mail(&self) { } } @@ -34,19 +28,15 @@ pub trait BoxCar : Box + Vehicle { fn dent<C:BoxCar>(c: C, color: C::Color) { //~^ ERROR ambiguous associated type `Color` in bounds of `C` - //~| NOTE ambiguous associated type `Color` } fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) { //~^ ERROR ambiguous associated type //~| ERROR the value of the associated type `Color` (from the trait `Vehicle`) must be specified - //~| NOTE ambiguous associated type `Color` - //~| NOTE missing associated type `Color` value } fn paint<C:BoxCar>(c: C, d: C::Color) { //~^ ERROR ambiguous associated type `Color` in bounds of `C` - //~| NOTE ambiguous associated type `Color` } pub fn main() { } diff --git a/src/test/ui/associated-type-projection-from-multiple-supertraits.stderr b/src/test/ui/associated-type-projection-from-multiple-supertraits.stderr index bc2b8193c85..6215c1dc089 100644 --- a/src/test/ui/associated-type-projection-from-multiple-supertraits.stderr +++ b/src/test/ui/associated-type-projection-from-multiple-supertraits.stderr @@ -1,43 +1,43 @@ error[E0221]: ambiguous associated type `Color` in bounds of `C` - --> $DIR/associated-type-projection-from-multiple-supertraits.rs:35:32 + --> $DIR/associated-type-projection-from-multiple-supertraits.rs:29:32 | 15 | type Color; | ----------- ambiguous `Color` from `Vehicle` ... -24 | type Color; +21 | type Color; | ----------- ambiguous `Color` from `Box` ... -35 | fn dent<C:BoxCar>(c: C, color: C::Color) { +29 | fn dent<C:BoxCar>(c: C, color: C::Color) { | ^^^^^^^^ ambiguous associated type `Color` error[E0221]: ambiguous associated type `Color` in bounds of `BoxCar` - --> $DIR/associated-type-projection-from-multiple-supertraits.rs:40:33 + --> $DIR/associated-type-projection-from-multiple-supertraits.rs:33:33 | 15 | type Color; | ----------- ambiguous `Color` from `Vehicle` ... -24 | type Color; +21 | type Color; | ----------- ambiguous `Color` from `Box` ... -40 | fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) { +33 | fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) { | ^^^^^^^^^^^ ambiguous associated type `Color` error[E0191]: the value of the associated type `Color` (from the trait `Vehicle`) must be specified - --> $DIR/associated-type-projection-from-multiple-supertraits.rs:40:26 + --> $DIR/associated-type-projection-from-multiple-supertraits.rs:33:26 | -40 | fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) { +33 | fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) { | ^^^^^^^^^^^^^^^^^^^ missing associated type `Color` value error[E0221]: ambiguous associated type `Color` in bounds of `C` - --> $DIR/associated-type-projection-from-multiple-supertraits.rs:47:29 + --> $DIR/associated-type-projection-from-multiple-supertraits.rs:38:29 | 15 | type Color; | ----------- ambiguous `Color` from `Vehicle` ... -24 | type Color; +21 | type Color; | ----------- ambiguous `Color` from `Box` ... -47 | fn paint<C:BoxCar>(c: C, d: C::Color) { +38 | fn paint<C:BoxCar>(c: C, d: C::Color) { | ^^^^^^^^ ambiguous associated type `Color` error: aborting due to 4 previous errors diff --git a/src/test/ui/associated-types-ICE-when-projecting-out-of-err.rs b/src/test/ui/associated-types-ICE-when-projecting-out-of-err.rs index 74a388e7269..75b60aa8d10 100644 --- a/src/test/ui/associated-types-ICE-when-projecting-out-of-err.rs +++ b/src/test/ui/associated-types-ICE-when-projecting-out-of-err.rs @@ -32,5 +32,4 @@ fn ice<A>(a: A) { let r = loop {}; r = r + a; //~^ ERROR the trait bound `(): Add<A>` is not satisfied - //~| NOTE the trait `Add<A>` is not implemented for `()` } diff --git a/src/test/ui/associated-types-in-ambiguous-context.rs b/src/test/ui/associated-types-in-ambiguous-context.rs index ff886e63dc5..becbc27138b 100644 --- a/src/test/ui/associated-types-in-ambiguous-context.rs +++ b/src/test/ui/associated-types-in-ambiguous-context.rs @@ -15,21 +15,15 @@ trait Get { fn get<T:Get,U:Get>(x: T, y: U) -> Get::Value {} //~^ ERROR ambiguous associated type -//~| NOTE ambiguous associated type -//~| NOTE specify the type using the syntax `<Type as Get>::Value` trait Grab { type Value; fn grab(&self) -> Grab::Value; //~^ ERROR ambiguous associated type - //~| NOTE ambiguous associated type - //~| NOTE specify the type using the syntax `<Type as Grab>::Value` } type X = std::ops::Deref::Target; //~^ ERROR ambiguous associated type -//~| NOTE ambiguous associated type -//~| NOTE specify the type using the syntax `<Type as std::ops::Deref>::Target` fn main() { } diff --git a/src/test/ui/associated-types-in-ambiguous-context.stderr b/src/test/ui/associated-types-in-ambiguous-context.stderr index a568d104acd..b0196234bda 100644 --- a/src/test/ui/associated-types-in-ambiguous-context.stderr +++ b/src/test/ui/associated-types-in-ambiguous-context.stderr @@ -7,17 +7,17 @@ error[E0223]: ambiguous associated type = note: specify the type using the syntax `<Type as Get>::Value` error[E0223]: ambiguous associated type - --> $DIR/associated-types-in-ambiguous-context.rs:29:10 + --> $DIR/associated-types-in-ambiguous-context.rs:25:10 | -29 | type X = std::ops::Deref::Target; +25 | type X = std::ops::Deref::Target; | ^^^^^^^^^^^^^^^^^^^^^^^ ambiguous associated type | = note: specify the type using the syntax `<Type as std::ops::Deref>::Target` error[E0223]: ambiguous associated type - --> $DIR/associated-types-in-ambiguous-context.rs:23:23 + --> $DIR/associated-types-in-ambiguous-context.rs:21:23 | -23 | fn grab(&self) -> Grab::Value; +21 | fn grab(&self) -> Grab::Value; | ^^^^^^^^^^^ ambiguous associated type | = note: specify the type using the syntax `<Type as Grab>::Value` diff --git a/src/test/ui/augmented-assignments.rs b/src/test/ui/augmented-assignments.rs index 736aa465aa7..82f5c49eeb7 100644 --- a/src/test/ui/augmented-assignments.rs +++ b/src/test/ui/augmented-assignments.rs @@ -22,7 +22,6 @@ fn main() { let mut x = Int(1); x //~ error: use of moved value: `x` //~^ value used here after move - //~| note: move occurs because `x` has type `Int` += x; //~ value moved here diff --git a/src/test/ui/augmented-assignments.stderr b/src/test/ui/augmented-assignments.stderr index dcc14ea8fdf..0367270d166 100644 --- a/src/test/ui/augmented-assignments.stderr +++ b/src/test/ui/augmented-assignments.stderr @@ -1,10 +1,10 @@ error[E0596]: cannot borrow immutable local variable `y` as mutable - --> $DIR/augmented-assignments.rs:31:5 + --> $DIR/augmented-assignments.rs:30:5 | -29 | let y = Int(2); +28 | let y = Int(2); | - consider changing this to `mut y` -30 | //~^ consider changing this to `mut y` -31 | y //~ error: cannot borrow immutable local variable `y` as mutable +29 | //~^ consider changing this to `mut y` +30 | y //~ error: cannot borrow immutable local variable `y` as mutable | ^ cannot borrow mutably error[E0382]: use of moved value: `x` @@ -13,7 +13,7 @@ error[E0382]: use of moved value: `x` 23 | x //~ error: use of moved value: `x` | ^ value used here after move ... -27 | x; //~ value moved here +26 | x; //~ value moved here | - value moved here | = note: move occurs because `x` has type `Int`, which does not implement the `Copy` trait diff --git a/src/test/ui/binary-op-on-double-ref.rs b/src/test/ui/binary-op-on-double-ref.rs index 23ca026f541..8b31be911b8 100644 --- a/src/test/ui/binary-op-on-double-ref.rs +++ b/src/test/ui/binary-op-on-double-ref.rs @@ -13,8 +13,6 @@ fn main() { let vr = v.iter().filter(|x| { x % 2 == 0 //~^ ERROR binary operation `%` cannot be applied to type `&&{integer}` - //~| NOTE this is a reference to a type that `%` can be applied to - //~| NOTE an implementation of `std::ops::Rem` might be missing for `&&{integer}` }); println!("{:?}", vr); } diff --git a/src/test/ui/blind-item-item-shadow.rs b/src/test/ui/blind-item-item-shadow.rs index af3abe5e056..38f9a552e1b 100644 --- a/src/test/ui/blind-item-item-shadow.rs +++ b/src/test/ui/blind-item-item-shadow.rs @@ -8,11 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -mod foo { pub mod foo { } } //~ NOTE previous definition of the module `foo` here +mod foo { pub mod foo { } } use foo::foo; //~^ ERROR the name `foo` is defined multiple times //~| `foo` reimported here -//~| NOTE `foo` must be defined only once in the type namespace of this module fn main() {} diff --git a/src/test/ui/blind-item-item-shadow.stderr b/src/test/ui/blind-item-item-shadow.stderr index 5eab6282450..b9f3e742c66 100644 --- a/src/test/ui/blind-item-item-shadow.stderr +++ b/src/test/ui/blind-item-item-shadow.stderr @@ -1,7 +1,7 @@ error[E0255]: the name `foo` is defined multiple times --> $DIR/blind-item-item-shadow.rs:13:5 | -11 | mod foo { pub mod foo { } } //~ NOTE previous definition of the module `foo` here +11 | mod foo { pub mod foo { } } | ---------------------------- previous definition of the module `foo` here 12 | 13 | use foo::foo; diff --git a/src/test/ui/block-result/consider-removing-last-semi.rs b/src/test/ui/block-result/consider-removing-last-semi.rs index 530a0e41562..0d4deb3c804 100644 --- a/src/test/ui/block-result/consider-removing-last-semi.rs +++ b/src/test/ui/block-result/consider-removing-last-semi.rs @@ -10,12 +10,12 @@ fn f() -> String { //~ ERROR mismatched types 0u8; - "bla".to_string(); //~ HELP consider removing this semicolon + "bla".to_string(); } fn g() -> String { //~ ERROR mismatched types "this won't work".to_string(); - "removeme".to_string(); //~ HELP consider removing this semicolon + "removeme".to_string(); } fn main() {} diff --git a/src/test/ui/block-result/consider-removing-last-semi.stderr b/src/test/ui/block-result/consider-removing-last-semi.stderr index 5905cfa9322..453f3879f4b 100644 --- a/src/test/ui/block-result/consider-removing-last-semi.stderr +++ b/src/test/ui/block-result/consider-removing-last-semi.stderr @@ -4,7 +4,7 @@ error[E0308]: mismatched types 11 | fn f() -> String { //~ ERROR mismatched types | __________________^ 12 | | 0u8; -13 | | "bla".to_string(); //~ HELP consider removing this semicolon +13 | | "bla".to_string(); | | - help: consider removing this semicolon 14 | | } | |_^ expected struct `std::string::String`, found () @@ -18,7 +18,7 @@ error[E0308]: mismatched types 16 | fn g() -> String { //~ ERROR mismatched types | __________________^ 17 | | "this won't work".to_string(); -18 | | "removeme".to_string(); //~ HELP consider removing this semicolon +18 | | "removeme".to_string(); | | - help: consider removing this semicolon 19 | | } | |_^ expected struct `std::string::String`, found () diff --git a/src/test/ui/block-result/issue-11714.rs b/src/test/ui/block-result/issue-11714.rs index 255eb771694..bc3936582aa 100644 --- a/src/test/ui/block-result/issue-11714.rs +++ b/src/test/ui/block-result/issue-11714.rs @@ -11,7 +11,7 @@ fn blah() -> i32 { //~ ERROR mismatched types 1 - ; //~ HELP consider removing this semicolon + ; } fn main() { } diff --git a/src/test/ui/block-result/issue-11714.stderr b/src/test/ui/block-result/issue-11714.stderr index 4daf40e6172..946d1804894 100644 --- a/src/test/ui/block-result/issue-11714.stderr +++ b/src/test/ui/block-result/issue-11714.stderr @@ -5,7 +5,7 @@ error[E0308]: mismatched types | __________________^ 12 | | 1 13 | | -14 | | ; //~ HELP consider removing this semicolon +14 | | ; | | - help: consider removing this semicolon 15 | | } | |_^ expected i32, found () diff --git a/src/test/ui/block-result/issue-13428.rs b/src/test/ui/block-result/issue-13428.rs index 9406199afc2..36520301f55 100644 --- a/src/test/ui/block-result/issue-13428.rs +++ b/src/test/ui/block-result/issue-13428.rs @@ -15,12 +15,12 @@ fn foo() -> String { //~ ERROR mismatched types "world") // Put the trailing semicolon on its own line to test that the // note message gets the offending semicolon exactly - ; //~ HELP consider removing this semicolon + ; } fn bar() -> String { //~ ERROR mismatched types "foobar".to_string() - ; //~ HELP consider removing this semicolon + ; } pub fn main() {} diff --git a/src/test/ui/block-result/issue-13428.stderr b/src/test/ui/block-result/issue-13428.stderr index 7bd4529c463..22bbb2aadf6 100644 --- a/src/test/ui/block-result/issue-13428.stderr +++ b/src/test/ui/block-result/issue-13428.stderr @@ -7,7 +7,7 @@ error[E0308]: mismatched types 15 | | "world") 16 | | // Put the trailing semicolon on its own line to test that the 17 | | // note message gets the offending semicolon exactly -18 | | ; //~ HELP consider removing this semicolon +18 | | ; | | - help: consider removing this semicolon 19 | | } | |_^ expected struct `std::string::String`, found () @@ -21,7 +21,7 @@ error[E0308]: mismatched types 21 | fn bar() -> String { //~ ERROR mismatched types | ____________________^ 22 | | "foobar".to_string() -23 | | ; //~ HELP consider removing this semicolon +23 | | ; | | - help: consider removing this semicolon 24 | | } | |_^ expected struct `std::string::String`, found () diff --git a/src/test/ui/bogus-tag.rs b/src/test/ui/bogus-tag.rs index a629f76d8b3..46536cc8575 100644 --- a/src/test/ui/bogus-tag.rs +++ b/src/test/ui/bogus-tag.rs @@ -10,7 +10,6 @@ enum color { rgb(isize, isize, isize), rgba(isize, isize, isize, isize), } -//~^ NOTE variant `hsl` not found here fn main() { let red: color = color::rgb(255, 0, 0); @@ -18,6 +17,5 @@ fn main() { color::rgb(r, g, b) => { println!("rgb"); } color::hsl(h, s, l) => { println!("hsl"); } //~^ ERROR no variant - //~| NOTE variant not found in `color` } } diff --git a/src/test/ui/bogus-tag.stderr b/src/test/ui/bogus-tag.stderr index 66e7d628551..49dedcd0742 100644 --- a/src/test/ui/bogus-tag.stderr +++ b/src/test/ui/bogus-tag.stderr @@ -1,10 +1,10 @@ error[E0599]: no variant named `hsl` found for type `color` in the current scope - --> $DIR/bogus-tag.rs:19:7 + --> $DIR/bogus-tag.rs:18:7 | 12 | enum color { rgb(isize, isize, isize), rgba(isize, isize, isize, isize), } | ---------- variant `hsl` not found here ... -19 | color::hsl(h, s, l) => { println!("hsl"); } +18 | color::hsl(h, s, l) => { println!("hsl"); } | ^^^^^^^^^^^^^^^^^^^ variant not found in `color` error: aborting due to previous error diff --git a/src/test/ui/borrowck/borrowck-box-insensitivity.rs b/src/test/ui/borrowck/borrowck-box-insensitivity.rs index d09cb73d670..75bf6bce04b 100644 --- a/src/test/ui/borrowck/borrowck-box-insensitivity.rs +++ b/src/test/ui/borrowck/borrowck-box-insensitivity.rs @@ -60,7 +60,6 @@ fn borrow_after_move() { fn move_after_borrow() { let a: Box<_> = box B { x: box 0, y: box 1 }; let _x = &a.x; - //~^ NOTE borrow of `a.x` occurs here let _y = a.y; //~^ ERROR cannot move //~| move out of @@ -69,15 +68,12 @@ fn move_after_borrow() { fn copy_after_mut_borrow() { let mut a: Box<_> = box A { x: box 0, y: 1 }; let _x = &mut a.x; - //~^ NOTE borrow of `a.x` occurs here let _y = a.y; //~ ERROR cannot use - //~^ NOTE use of borrowed `a.x` } fn move_after_mut_borrow() { let mut a: Box<_> = box B { x: box 0, y: box 1 }; let _x = &mut a.x; - //~^ NOTE borrow of `a.x` occurs here let _y = a.y; //~^ ERROR cannot move //~| move out of @@ -86,27 +82,22 @@ fn move_after_mut_borrow() { fn borrow_after_mut_borrow() { let mut a: Box<_> = box A { x: box 0, y: 1 }; let _x = &mut a.x; - //~^ NOTE mutable borrow occurs here (via `a.x`) let _y = &a.y; //~ ERROR cannot borrow //~^ immutable borrow occurs here (via `a.y`) } -//~^ NOTE mutable borrow ends here fn mut_borrow_after_borrow() { let mut a: Box<_> = box A { x: box 0, y: 1 }; let _x = &a.x; - //~^ NOTE immutable borrow occurs here (via `a.x`) let _y = &mut a.y; //~ ERROR cannot borrow //~^ mutable borrow occurs here (via `a.y`) } -//~^ NOTE immutable borrow ends here fn copy_after_move_nested() { let a: Box<_> = box C { x: box A { x: box 0, y: 1 }, y: 2 }; let _x = a.x.x; //~^ value moved here let _y = a.y; //~ ERROR use of collaterally moved - //~^ NOTE move occurs because `a.x.x` has type `std::boxed::Box<isize>` //~| value used here after move } @@ -115,7 +106,6 @@ fn move_after_move_nested() { let _x = a.x.x; //~^ value moved here let _y = a.y; //~ ERROR use of collaterally moved - //~^ NOTE move occurs because `a.x.x` has type `std::boxed::Box<isize>` //~| value used here after move } @@ -124,7 +114,6 @@ fn borrow_after_move_nested() { let _x = a.x.x; //~^ value moved here let _y = &a.y; //~ ERROR use of collaterally moved - //~^ NOTE move occurs because `a.x.x` has type `std::boxed::Box<isize>` //~| value used here after move } @@ -140,15 +129,12 @@ fn move_after_borrow_nested() { fn copy_after_mut_borrow_nested() { let mut a: Box<_> = box C { x: box A { x: box 0, y: 1 }, y: 2 }; let _x = &mut a.x.x; - //~^ NOTE borrow of `a.x.x` occurs here let _y = a.y; //~ ERROR cannot use - //~^ NOTE use of borrowed `a.x.x` } fn move_after_mut_borrow_nested() { let mut a: Box<_> = box D { x: box A { x: box 0, y: 1 }, y: box 2 }; let _x = &mut a.x.x; - //~^ NOTE borrow of `a.x.x` occurs here let _y = a.y; //~^ ERROR cannot move //~| move out of @@ -161,7 +147,6 @@ fn borrow_after_mut_borrow_nested() { let _y = &a.y; //~ ERROR cannot borrow //~^ immutable borrow occurs here } -//~^ NOTE mutable borrow ends here fn mut_borrow_after_borrow_nested() { let mut a: Box<_> = box C { x: box A { x: box 0, y: 1 }, y: 2 }; @@ -170,7 +155,6 @@ fn mut_borrow_after_borrow_nested() { let _y = &mut a.y; //~ ERROR cannot borrow //~^ mutable borrow occurs here } -//~^ NOTE immutable borrow ends here fn main() { copy_after_move(); diff --git a/src/test/ui/borrowck/borrowck-box-insensitivity.stderr b/src/test/ui/borrowck/borrowck-box-insensitivity.stderr index 120a3f9c3ab..88e8490843d 100644 --- a/src/test/ui/borrowck/borrowck-box-insensitivity.stderr +++ b/src/test/ui/borrowck/borrowck-box-insensitivity.stderr @@ -32,138 +32,131 @@ error[E0382]: use of moved value: `a` = note: move occurs because `a.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait error[E0505]: cannot move out of `a.y` because it is borrowed - --> $DIR/borrowck-box-insensitivity.rs:64:9 + --> $DIR/borrowck-box-insensitivity.rs:63:9 | 62 | let _x = &a.x; | --- borrow of `a.x` occurs here -63 | //~^ NOTE borrow of `a.x` occurs here -64 | let _y = a.y; +63 | let _y = a.y; | ^^ move out of `a.y` occurs here error[E0503]: cannot use `a.y` because it was mutably borrowed - --> $DIR/borrowck-box-insensitivity.rs:73:9 + --> $DIR/borrowck-box-insensitivity.rs:71:9 | -71 | let _x = &mut a.x; +70 | let _x = &mut a.x; | --- borrow of `a.x` occurs here -72 | //~^ NOTE borrow of `a.x` occurs here -73 | let _y = a.y; //~ ERROR cannot use +71 | let _y = a.y; //~ ERROR cannot use | ^^ use of borrowed `a.x` error[E0505]: cannot move out of `a.y` because it is borrowed - --> $DIR/borrowck-box-insensitivity.rs:81:9 + --> $DIR/borrowck-box-insensitivity.rs:77:9 | -79 | let _x = &mut a.x; +76 | let _x = &mut a.x; | --- borrow of `a.x` occurs here -80 | //~^ NOTE borrow of `a.x` occurs here -81 | let _y = a.y; +77 | let _y = a.y; | ^^ move out of `a.y` occurs here error[E0502]: cannot borrow `a` (via `a.y`) as immutable because `a` is also borrowed as mutable (via `a.x`) - --> $DIR/borrowck-box-insensitivity.rs:90:15 + --> $DIR/borrowck-box-insensitivity.rs:85:15 | -88 | let _x = &mut a.x; +84 | let _x = &mut a.x; | --- mutable borrow occurs here (via `a.x`) -89 | //~^ NOTE mutable borrow occurs here (via `a.x`) -90 | let _y = &a.y; //~ ERROR cannot borrow +85 | let _y = &a.y; //~ ERROR cannot borrow | ^^^ immutable borrow occurs here (via `a.y`) -91 | //~^ immutable borrow occurs here (via `a.y`) -92 | } +86 | //~^ immutable borrow occurs here (via `a.y`) +87 | } | - mutable borrow ends here error[E0502]: cannot borrow `a` (via `a.y`) as mutable because `a` is also borrowed as immutable (via `a.x`) - --> $DIR/borrowck-box-insensitivity.rs:99:19 - | -97 | let _x = &a.x; - | --- immutable borrow occurs here (via `a.x`) -98 | //~^ NOTE immutable borrow occurs here (via `a.x`) -99 | let _y = &mut a.y; //~ ERROR cannot borrow - | ^^^ mutable borrow occurs here (via `a.y`) -100 | //~^ mutable borrow occurs here (via `a.y`) -101 | } - | - immutable borrow ends here + --> $DIR/borrowck-box-insensitivity.rs:92:19 + | +91 | let _x = &a.x; + | --- immutable borrow occurs here (via `a.x`) +92 | let _y = &mut a.y; //~ ERROR cannot borrow + | ^^^ mutable borrow occurs here (via `a.y`) +93 | //~^ mutable borrow occurs here (via `a.y`) +94 | } + | - immutable borrow ends here error[E0382]: use of collaterally moved value: `a.y` - --> $DIR/borrowck-box-insensitivity.rs:108:9 + --> $DIR/borrowck-box-insensitivity.rs:100:9 | -106 | let _x = a.x.x; +98 | let _x = a.x.x; | -- value moved here -107 | //~^ value moved here -108 | let _y = a.y; //~ ERROR use of collaterally moved +99 | //~^ value moved here +100 | let _y = a.y; //~ ERROR use of collaterally moved | ^^ value used here after move | = note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait error[E0382]: use of collaterally moved value: `a.y` - --> $DIR/borrowck-box-insensitivity.rs:117:9 + --> $DIR/borrowck-box-insensitivity.rs:108:9 | -115 | let _x = a.x.x; +106 | let _x = a.x.x; | -- value moved here -116 | //~^ value moved here -117 | let _y = a.y; //~ ERROR use of collaterally moved +107 | //~^ value moved here +108 | let _y = a.y; //~ ERROR use of collaterally moved | ^^ value used here after move | = note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait error[E0382]: use of collaterally moved value: `a.y` - --> $DIR/borrowck-box-insensitivity.rs:126:15 + --> $DIR/borrowck-box-insensitivity.rs:116:15 | -124 | let _x = a.x.x; +114 | let _x = a.x.x; | -- value moved here -125 | //~^ value moved here -126 | let _y = &a.y; //~ ERROR use of collaterally moved +115 | //~^ value moved here +116 | let _y = &a.y; //~ ERROR use of collaterally moved | ^^^ value used here after move | = note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait error[E0505]: cannot move out of `a.y` because it is borrowed - --> $DIR/borrowck-box-insensitivity.rs:135:9 + --> $DIR/borrowck-box-insensitivity.rs:124:9 | -133 | let _x = &a.x.x; +122 | let _x = &a.x.x; | ----- borrow of `a.x.x` occurs here -134 | //~^ borrow of `a.x.x` occurs here -135 | let _y = a.y; +123 | //~^ borrow of `a.x.x` occurs here +124 | let _y = a.y; | ^^ move out of `a.y` occurs here error[E0503]: cannot use `a.y` because it was mutably borrowed - --> $DIR/borrowck-box-insensitivity.rs:144:9 + --> $DIR/borrowck-box-insensitivity.rs:132:9 | -142 | let _x = &mut a.x.x; +131 | let _x = &mut a.x.x; | ----- borrow of `a.x.x` occurs here -143 | //~^ NOTE borrow of `a.x.x` occurs here -144 | let _y = a.y; //~ ERROR cannot use +132 | let _y = a.y; //~ ERROR cannot use | ^^ use of borrowed `a.x.x` error[E0505]: cannot move out of `a.y` because it is borrowed - --> $DIR/borrowck-box-insensitivity.rs:152:9 + --> $DIR/borrowck-box-insensitivity.rs:138:9 | -150 | let _x = &mut a.x.x; +137 | let _x = &mut a.x.x; | ----- borrow of `a.x.x` occurs here -151 | //~^ NOTE borrow of `a.x.x` occurs here -152 | let _y = a.y; +138 | let _y = a.y; | ^^ move out of `a.y` occurs here error[E0502]: cannot borrow `a.y` as immutable because `a.x.x` is also borrowed as mutable - --> $DIR/borrowck-box-insensitivity.rs:161:15 + --> $DIR/borrowck-box-insensitivity.rs:147:15 | -159 | let _x = &mut a.x.x; +145 | let _x = &mut a.x.x; | ----- mutable borrow occurs here -160 | //~^ mutable borrow occurs here -161 | let _y = &a.y; //~ ERROR cannot borrow +146 | //~^ mutable borrow occurs here +147 | let _y = &a.y; //~ ERROR cannot borrow | ^^^ immutable borrow occurs here -162 | //~^ immutable borrow occurs here -163 | } +148 | //~^ immutable borrow occurs here +149 | } | - mutable borrow ends here error[E0502]: cannot borrow `a.y` as mutable because `a.x.x` is also borrowed as immutable - --> $DIR/borrowck-box-insensitivity.rs:170:19 + --> $DIR/borrowck-box-insensitivity.rs:155:19 | -168 | let _x = &a.x.x; +153 | let _x = &a.x.x; | ----- immutable borrow occurs here -169 | //~^ immutable borrow occurs here -170 | let _y = &mut a.y; //~ ERROR cannot borrow +154 | //~^ immutable borrow occurs here +155 | let _y = &mut a.y; //~ ERROR cannot borrow | ^^^ mutable borrow occurs here -171 | //~^ mutable borrow occurs here -172 | } +156 | //~^ mutable borrow occurs here +157 | } | - immutable borrow ends here error: aborting due to 16 previous errors diff --git a/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs b/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs index ec330247f23..87e40df7663 100644 --- a/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs +++ b/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs @@ -22,6 +22,4 @@ fn main() { let mut books = vec![1,2,3]; spawn(|| books.push(4)); //~^ ERROR E0373 - //~| NOTE `books` is borrowed here - //~| NOTE may outlive borrowed value `books` } diff --git a/src/test/ui/borrowck/borrowck-escaping-closure-error-2.rs b/src/test/ui/borrowck/borrowck-escaping-closure-error-2.rs index 81685c32f2f..67700be890b 100644 --- a/src/test/ui/borrowck/borrowck-escaping-closure-error-2.rs +++ b/src/test/ui/borrowck/borrowck-escaping-closure-error-2.rs @@ -20,8 +20,6 @@ fn foo<'a>(x: &'a i32) -> Box<FnMut()+'a> { let mut books = vec![1,2,3]; Box::new(|| books.push(4)) //~^ ERROR E0373 - //~| NOTE `books` is borrowed here - //~| NOTE may outlive borrowed value `books` } fn main() { } diff --git a/src/test/ui/borrowck/borrowck-in-static.rs b/src/test/ui/borrowck/borrowck-in-static.rs index b30234811ac..16b0e8638de 100644 --- a/src/test/ui/borrowck/borrowck-in-static.rs +++ b/src/test/ui/borrowck/borrowck-in-static.rs @@ -11,9 +11,8 @@ // check that borrowck looks inside consts/statics static FN : &'static (Fn() -> (Box<Fn()->Box<i32>>) + Sync) = &|| { - let x = Box::new(0); //~ NOTE captured outer variable + let x = Box::new(0); Box::new(|| x) //~ ERROR cannot move out of captured outer variable - //~^ NOTE cannot move out of captured outer variable }; fn main() { diff --git a/src/test/ui/borrowck/borrowck-in-static.stderr b/src/test/ui/borrowck/borrowck-in-static.stderr index 92ca36e117e..6e47c46cdec 100644 --- a/src/test/ui/borrowck/borrowck-in-static.stderr +++ b/src/test/ui/borrowck/borrowck-in-static.stderr @@ -1,7 +1,7 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure --> $DIR/borrowck-in-static.rs:15:17 | -14 | let x = Box::new(0); //~ NOTE captured outer variable +14 | let x = Box::new(0); | - captured outer variable 15 | Box::new(|| x) //~ ERROR cannot move out of captured outer variable | ^ cannot move out of captured outer variable in an `Fn` closure diff --git a/src/test/ui/borrowck/borrowck-move-error-with-note.rs b/src/test/ui/borrowck/borrowck-move-error-with-note.rs index 5d9c9d0bd46..e0491159a68 100644 --- a/src/test/ui/borrowck/borrowck-move-error-with-note.rs +++ b/src/test/ui/borrowck/borrowck-move-error-with-note.rs @@ -20,9 +20,9 @@ fn blah() { let f = &Foo::Foo1(box 1, box 2); match *f { //~ ERROR cannot move out of //~| cannot move out - Foo::Foo1(num1, //~ NOTE to prevent move - num2) => (), //~ NOTE and here - Foo::Foo2(num) => (), //~ NOTE and here + Foo::Foo1(num1, + num2) => (), + Foo::Foo2(num) => (), Foo::Foo3 => () } } @@ -39,8 +39,8 @@ fn move_in_match() { match (S {f: "foo".to_string(), g: "bar".to_string()}) { S { //~ ERROR cannot move out of type `S`, which implements the `Drop` trait //~| cannot move out of here - f: _s, //~ NOTE to prevent move - g: _t //~ NOTE and here + f: _s, + g: _t } => {} } } @@ -56,7 +56,7 @@ fn blah2() { let a = &A { a: box 1 }; match a.a { //~ ERROR cannot move out of //~| cannot move out - n => { //~ NOTE to prevent move + n => { free(n) } } diff --git a/src/test/ui/borrowck/borrowck-move-error-with-note.stderr b/src/test/ui/borrowck/borrowck-move-error-with-note.stderr index 2742899e78a..c16c80345d5 100644 --- a/src/test/ui/borrowck/borrowck-move-error-with-note.stderr +++ b/src/test/ui/borrowck/borrowck-move-error-with-note.stderr @@ -4,11 +4,11 @@ error[E0507]: cannot move out of borrowed content 21 | match *f { //~ ERROR cannot move out of | ^^ cannot move out of borrowed content 22 | //~| cannot move out -23 | Foo::Foo1(num1, //~ NOTE to prevent move +23 | Foo::Foo1(num1, | ---- hint: to prevent move, use `ref num1` or `ref mut num1` -24 | num2) => (), //~ NOTE and here +24 | num2) => (), | ---- ...and here (use `ref num2` or `ref mut num2`) -25 | Foo::Foo2(num) => (), //~ NOTE and here +25 | Foo::Foo2(num) => (), | --- ...and here (use `ref num` or `ref mut num`) error[E0509]: cannot move out of type `S`, which implements the `Drop` trait @@ -16,9 +16,9 @@ error[E0509]: cannot move out of type `S`, which implements the `Drop` trait | 40 | / S { //~ ERROR cannot move out of type `S`, which implements the `Drop` trait 41 | | //~| cannot move out of here -42 | | f: _s, //~ NOTE to prevent move +42 | | f: _s, | | -- hint: to prevent move, use `ref _s` or `ref mut _s` -43 | | g: _t //~ NOTE and here +43 | | g: _t | | -- ...and here (use `ref _t` or `ref mut _t`) 44 | | } => {} | |_________^ cannot move out of here @@ -29,7 +29,7 @@ error[E0507]: cannot move out of borrowed content 57 | match a.a { //~ ERROR cannot move out of | ^ cannot move out of borrowed content 58 | //~| cannot move out -59 | n => { //~ NOTE to prevent move +59 | n => { | - hint: to prevent move, use `ref n` or `ref mut n` error: aborting due to 3 previous errors diff --git a/src/test/ui/borrowck/borrowck-move-out-of-vec-tail.rs b/src/test/ui/borrowck/borrowck-move-out-of-vec-tail.rs index 311208f07b8..938ce3f2cb8 100644 --- a/src/test/ui/borrowck/borrowck-move-out-of-vec-tail.rs +++ b/src/test/ui/borrowck/borrowck-move-out-of-vec-tail.rs @@ -32,7 +32,6 @@ pub fn main() { //~| cannot move out //~| to prevent move Foo { string: b }] => { - //~^ NOTE and here } _ => { unreachable!(); diff --git a/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.rs b/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.rs index 3ca8cc431e0..a6553160557 100644 --- a/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.rs +++ b/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.rs @@ -17,7 +17,6 @@ fn main() { let z = &x; //~ ERROR cannot borrow //~^ immutable borrow occurs here } -//~^ NOTE mutable borrow ends here fn foo() { match true { @@ -29,7 +28,6 @@ fn foo() { let z = &mut x; //~ ERROR cannot borrow //~^ mutable borrow occurs here } - //~^ NOTE immutable borrow ends here false => () } } @@ -43,5 +41,4 @@ fn bar() { let z = &mut x; //~ ERROR cannot borrow //~^ second mutable borrow occurs here }; - //~^ NOTE first borrow ends here } diff --git a/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.stderr b/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.stderr index 107cd38adfe..fb6917141fc 100644 --- a/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.stderr +++ b/src/test/ui/borrowck/borrowck-report-with-custom-diagnostic.stderr @@ -11,27 +11,27 @@ error[E0502]: cannot borrow `x` as immutable because it is also borrowed as muta | - mutable borrow ends here error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable - --> $DIR/borrowck-report-with-custom-diagnostic.rs:29:26 + --> $DIR/borrowck-report-with-custom-diagnostic.rs:28:26 | -27 | let y = &x; +26 | let y = &x; | - immutable borrow occurs here -28 | //~^ immutable borrow occurs here -29 | let z = &mut x; //~ ERROR cannot borrow +27 | //~^ immutable borrow occurs here +28 | let z = &mut x; //~ ERROR cannot borrow | ^ mutable borrow occurs here -30 | //~^ mutable borrow occurs here -31 | } +29 | //~^ mutable borrow occurs here +30 | } | - immutable borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time - --> $DIR/borrowck-report-with-custom-diagnostic.rs:43:22 + --> $DIR/borrowck-report-with-custom-diagnostic.rs:41:22 | -41 | let y = &mut x; +39 | let y = &mut x; | - first mutable borrow occurs here -42 | //~^ first mutable borrow occurs here -43 | let z = &mut x; //~ ERROR cannot borrow +40 | //~^ first mutable borrow occurs here +41 | let z = &mut x; //~ ERROR cannot borrow | ^ second mutable borrow occurs here -44 | //~^ second mutable borrow occurs here -45 | }; +42 | //~^ second mutable borrow occurs here +43 | }; | - first borrow ends here error: aborting due to 3 previous errors diff --git a/src/test/ui/borrowck/borrowck-vec-pattern-nesting.rs b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.rs index 98bb6b14b94..07b268f1a4b 100644 --- a/src/test/ui/borrowck/borrowck-vec-pattern-nesting.rs +++ b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.rs @@ -63,7 +63,7 @@ fn d() { match vec { &mut [ //~ ERROR cannot move out //~^ cannot move out - _b] => {} //~ NOTE to prevent move + _b] => {} _ => {} } let a = vec[0]; //~ ERROR cannot move out @@ -76,9 +76,6 @@ fn e() { match vec { &mut [_a, _b, _c] => {} //~ ERROR cannot move out //~| cannot move out - //~| NOTE to prevent move - //~| NOTE and here - //~| NOTE and here _ => {} } let a = vec[0]; //~ ERROR cannot move out diff --git a/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr index 6b099d28fb1..899ffb446b9 100644 --- a/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr +++ b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr @@ -44,7 +44,7 @@ error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy sli 64 | &mut [ //~ ERROR cannot move out | ______________^ 65 | | //~^ cannot move out -66 | | _b] => {} //~ NOTE to prevent move +66 | | _b] => {} | |__________--^ cannot move out of here | | | hint: to prevent move, use `ref _b` or `ref mut _b` @@ -70,9 +70,9 @@ error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy sli | cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice - --> $DIR/borrowck-vec-pattern-nesting.rs:84:13 + --> $DIR/borrowck-vec-pattern-nesting.rs:81:13 | -84 | let a = vec[0]; //~ ERROR cannot move out +81 | let a = vec[0]; //~ ERROR cannot move out | ^^^^^^ | | | cannot move out of here diff --git a/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs index 788d68caa52..cd9f1636c3f 100644 --- a/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs +++ b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs @@ -16,10 +16,9 @@ fn call<F>(f: F) where F : Fn() { } fn main() { - let y = vec![format!("World")]; //~ NOTE captured outer variable + let y = vec![format!("World")]; call(|| { y.into_iter(); //~^ ERROR cannot move out of captured outer variable in an `Fn` closure - //~| NOTE cannot move out of }); } diff --git a/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.stderr b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.stderr index 895ce1ba318..6aa0846f53e 100644 --- a/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.stderr +++ b/src/test/ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.stderr @@ -1,7 +1,7 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure --> $DIR/unboxed-closures-move-upvar-from-non-once-ref-closure.rs:21:9 | -19 | let y = vec![format!("World")]; //~ NOTE captured outer variable +19 | let y = vec![format!("World")]; | - captured outer variable 20 | call(|| { 21 | y.into_iter(); diff --git a/src/test/ui/cast-as-bool.rs b/src/test/ui/cast-as-bool.rs index af42d5c275c..68e26c23e44 100644 --- a/src/test/ui/cast-as-bool.rs +++ b/src/test/ui/cast-as-bool.rs @@ -11,5 +11,4 @@ fn main() { let u = 5 as bool; //~^ ERROR cannot cast as `bool` - //~| HELP compare with zero instead } diff --git a/src/test/ui/cast-rfc0401-2.rs b/src/test/ui/cast-rfc0401-2.rs index 1598a9aa1fc..0dac707688d 100644 --- a/src/test/ui/cast-rfc0401-2.rs +++ b/src/test/ui/cast-rfc0401-2.rs @@ -15,5 +15,4 @@ fn main() { let _ = 3 as bool; //~^ ERROR cannot cast as `bool` - //~| HELP compare with zero } diff --git a/src/test/ui/changing-crates.rs b/src/test/ui/changing-crates.rs index 89310706b52..80a2998f3cd 100644 --- a/src/test/ui/changing-crates.rs +++ b/src/test/ui/changing-crates.rs @@ -17,7 +17,5 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: the following crate versions were found -//~| NOTE: perhaps that crate needs to be recompiled fn main() {} diff --git a/src/test/ui/closure_context/issue-42065.rs b/src/test/ui/closure_context/issue-42065.rs index 276c6a941b2..9daa76d858f 100644 --- a/src/test/ui/closure_context/issue-42065.rs +++ b/src/test/ui/closure_context/issue-42065.rs @@ -14,13 +14,10 @@ fn main() { let dict: HashMap<i32, i32> = HashMap::new(); let debug_dump_dict = || { for (key, value) in dict { - //~^ NOTE closure cannot be invoked more than once println!("{:?} - {:?}", key, value); } }; debug_dump_dict(); - //~^ NOTE: value moved here debug_dump_dict(); //~^ ERROR use of moved value: `debug_dump_dict` - //~| NOTE value used here after move } diff --git a/src/test/ui/closure_context/issue-42065.stderr b/src/test/ui/closure_context/issue-42065.stderr index b31322f6d16..c195940ade6 100644 --- a/src/test/ui/closure_context/issue-42065.stderr +++ b/src/test/ui/closure_context/issue-42065.stderr @@ -1,10 +1,9 @@ error[E0382]: use of moved value: `debug_dump_dict` - --> $DIR/issue-42065.rs:23:5 + --> $DIR/issue-42065.rs:21:5 | -21 | debug_dump_dict(); +20 | debug_dump_dict(); | --------------- value moved here -22 | //~^ NOTE: value moved here -23 | debug_dump_dict(); +21 | debug_dump_dict(); | ^^^^^^^^^^^^^^^ value used here after move | note: closure cannot be invoked more than once because it moves the variable `dict` out of its environment diff --git a/src/test/ui/coherence-impls-copy.rs b/src/test/ui/coherence-impls-copy.rs index fe121a3bc48..51f43d27c34 100644 --- a/src/test/ui/coherence-impls-copy.rs +++ b/src/test/ui/coherence-impls-copy.rs @@ -28,36 +28,22 @@ impl Copy for MyType {} impl Copy for &'static mut MyType {} //~^ ERROR the trait `Copy` may not be implemented for this type -//~| NOTE type is not a structure or enumeration impl Clone for MyType { fn clone(&self) -> Self { *self } } impl Copy for (MyType, MyType) {} //~^ ERROR the trait `Copy` may not be implemented for this type -//~| NOTE type is not a structure or enumeration //~| ERROR only traits defined in the current crate can be implemented for arbitrary types -//~| NOTE impl doesn't use types inside crate -//~| NOTE the impl does not reference any types defined in this crate -//~| NOTE define and implement a trait or new type instead impl Copy for &'static NotSync {} //~^ ERROR the trait `Copy` may not be implemented for this type -//~| NOTE type is not a structure or enumeration impl Copy for [MyType] {} //~^ ERROR the trait `Copy` may not be implemented for this type -//~| NOTE type is not a structure or enumeration //~| ERROR only traits defined in the current crate can be implemented for arbitrary types -//~| NOTE the impl does not reference any types defined in this crate -//~| NOTE define and implement a trait or new type instead -//~| NOTE impl doesn't use types inside crate impl Copy for &'static [NotSync] {} //~^ ERROR the trait `Copy` may not be implemented for this type -//~| NOTE type is not a structure or enumeration //~| ERROR only traits defined in the current crate can be implemented for arbitrary types -//~| NOTE impl doesn't use types inside crate -//~| NOTE the impl does not reference any types defined in this crate -//~| NOTE define and implement a trait or new type instead fn main() { } diff --git a/src/test/ui/coherence-impls-copy.stderr b/src/test/ui/coherence-impls-copy.stderr index 977e9ce260f..e5e91df771f 100644 --- a/src/test/ui/coherence-impls-copy.stderr +++ b/src/test/ui/coherence-impls-copy.stderr @@ -5,51 +5,51 @@ error[E0206]: the trait `Copy` may not be implemented for this type | ^^^^^^^^^^^^^^^^^^^ type is not a structure or enumeration error[E0206]: the trait `Copy` may not be implemented for this type - --> $DIR/coherence-impls-copy.rs:34:15 + --> $DIR/coherence-impls-copy.rs:33:15 | -34 | impl Copy for (MyType, MyType) {} +33 | impl Copy for (MyType, MyType) {} | ^^^^^^^^^^^^^^^^ type is not a structure or enumeration error[E0206]: the trait `Copy` may not be implemented for this type - --> $DIR/coherence-impls-copy.rs:42:15 + --> $DIR/coherence-impls-copy.rs:37:15 | -42 | impl Copy for &'static NotSync {} +37 | impl Copy for &'static NotSync {} | ^^^^^^^^^^^^^^^^ type is not a structure or enumeration error[E0206]: the trait `Copy` may not be implemented for this type - --> $DIR/coherence-impls-copy.rs:46:15 + --> $DIR/coherence-impls-copy.rs:40:15 | -46 | impl Copy for [MyType] {} +40 | impl Copy for [MyType] {} | ^^^^^^^^ type is not a structure or enumeration error[E0206]: the trait `Copy` may not be implemented for this type - --> $DIR/coherence-impls-copy.rs:54:15 + --> $DIR/coherence-impls-copy.rs:44:15 | -54 | impl Copy for &'static [NotSync] {} +44 | impl Copy for &'static [NotSync] {} | ^^^^^^^^^^^^^^^^^^ type is not a structure or enumeration error[E0117]: only traits defined in the current crate can be implemented for arbitrary types - --> $DIR/coherence-impls-copy.rs:34:1 + --> $DIR/coherence-impls-copy.rs:33:1 | -34 | impl Copy for (MyType, MyType) {} +33 | impl Copy for (MyType, MyType) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate | = note: the impl does not reference any types defined in this crate = note: define and implement a trait or new type instead error[E0117]: only traits defined in the current crate can be implemented for arbitrary types - --> $DIR/coherence-impls-copy.rs:46:1 + --> $DIR/coherence-impls-copy.rs:40:1 | -46 | impl Copy for [MyType] {} +40 | impl Copy for [MyType] {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate | = note: the impl does not reference any types defined in this crate = note: define and implement a trait or new type instead error[E0117]: only traits defined in the current crate can be implemented for arbitrary types - --> $DIR/coherence-impls-copy.rs:54:1 + --> $DIR/coherence-impls-copy.rs:44:1 | -54 | impl Copy for &'static [NotSync] {} +44 | impl Copy for &'static [NotSync] {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate | = note: the impl does not reference any types defined in this crate diff --git a/src/test/ui/coherence-overlap-downstream-inherent.rs b/src/test/ui/coherence-overlap-downstream-inherent.rs index 66068b53555..fd6e1d339f3 100644 --- a/src/test/ui/coherence-overlap-downstream-inherent.rs +++ b/src/test/ui/coherence-overlap-downstream-inherent.rs @@ -16,17 +16,12 @@ pub trait Sugar {} pub trait Fruit {} impl<T:Sugar> Sweet<T> { fn dummy(&self) { } } //~^ ERROR E0592 -//~| NOTE duplicate definitions for `dummy` impl<T:Fruit> Sweet<T> { fn dummy(&self) { } } -//~^ NOTE other definition for `dummy` trait Bar<X> {} struct A<T, X>(T, X); impl<X, T> A<T, X> where T: Bar<X> { fn f(&self) {} } //~^ ERROR E0592 -//~| NOTE duplicate definitions for `f` -//~| NOTE downstream crates may implement trait `Bar<_>` for type `i32` impl<X> A<i32, X> { fn f(&self) {} } -//~^ NOTE other definition for `f` fn main() {} diff --git a/src/test/ui/coherence-overlap-downstream-inherent.stderr b/src/test/ui/coherence-overlap-downstream-inherent.stderr index 23287e2f578..aca6800deb5 100644 --- a/src/test/ui/coherence-overlap-downstream-inherent.stderr +++ b/src/test/ui/coherence-overlap-downstream-inherent.stderr @@ -3,17 +3,17 @@ error[E0592]: duplicate definitions with name `dummy` | 17 | impl<T:Sugar> Sweet<T> { fn dummy(&self) { } } | ^^^^^^^^^^^^^^^^^^^ duplicate definitions for `dummy` -... -20 | impl<T:Fruit> Sweet<T> { fn dummy(&self) { } } +18 | //~^ ERROR E0592 +19 | impl<T:Fruit> Sweet<T> { fn dummy(&self) { } } | ------------------- other definition for `dummy` error[E0592]: duplicate definitions with name `f` - --> $DIR/coherence-overlap-downstream-inherent.rs:25:38 + --> $DIR/coherence-overlap-downstream-inherent.rs:23:38 | -25 | impl<X, T> A<T, X> where T: Bar<X> { fn f(&self) {} } +23 | impl<X, T> A<T, X> where T: Bar<X> { fn f(&self) {} } | ^^^^^^^^^^^^^^ duplicate definitions for `f` -... -29 | impl<X> A<i32, X> { fn f(&self) {} } +24 | //~^ ERROR E0592 +25 | impl<X> A<i32, X> { fn f(&self) {} } | -------------- other definition for `f` | = note: downstream crates may implement trait `Bar<_>` for type `i32` diff --git a/src/test/ui/coherence-overlap-downstream.rs b/src/test/ui/coherence-overlap-downstream.rs index 1df02737dec..63898ef9a20 100644 --- a/src/test/ui/coherence-overlap-downstream.rs +++ b/src/test/ui/coherence-overlap-downstream.rs @@ -15,18 +15,13 @@ pub trait Sugar {} pub trait Fruit {} pub trait Sweet {} impl<T:Sugar> Sweet for T { } -//~^ NOTE first implementation here impl<T:Fruit> Sweet for T { } //~^ ERROR E0119 -//~| NOTE conflicting implementation pub trait Foo<X> {} pub trait Bar<X> {} impl<X, T> Foo<X> for T where T: Bar<X> {} -//~^ NOTE first implementation here impl<X> Foo<X> for i32 {} //~^ ERROR E0119 -//~| NOTE conflicting implementation for `i32` -//~| NOTE downstream crates may implement trait `Bar<_>` for type `i32` fn main() { } diff --git a/src/test/ui/coherence-overlap-downstream.stderr b/src/test/ui/coherence-overlap-downstream.stderr index 2b129644e84..8a3ef97fd55 100644 --- a/src/test/ui/coherence-overlap-downstream.stderr +++ b/src/test/ui/coherence-overlap-downstream.stderr @@ -1,19 +1,17 @@ error[E0119]: conflicting implementations of trait `Sweet`: - --> $DIR/coherence-overlap-downstream.rs:19:1 + --> $DIR/coherence-overlap-downstream.rs:18:1 | 17 | impl<T:Sugar> Sweet for T { } | ----------------------------- first implementation here -18 | //~^ NOTE first implementation here -19 | impl<T:Fruit> Sweet for T { } +18 | impl<T:Fruit> Sweet for T { } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation error[E0119]: conflicting implementations of trait `Foo<_>` for type `i32`: - --> $DIR/coherence-overlap-downstream.rs:27:1 + --> $DIR/coherence-overlap-downstream.rs:24:1 | -25 | impl<X, T> Foo<X> for T where T: Bar<X> {} +23 | impl<X, T> Foo<X> for T where T: Bar<X> {} | ------------------------------------------ first implementation here -26 | //~^ NOTE first implementation here -27 | impl<X> Foo<X> for i32 {} +24 | impl<X> Foo<X> for i32 {} | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `i32` | = note: downstream crates may implement trait `Bar<_>` for type `i32` diff --git a/src/test/ui/coherence-overlap-issue-23516-inherent.rs b/src/test/ui/coherence-overlap-issue-23516-inherent.rs index 355af60710a..94a7bdbc69e 100644 --- a/src/test/ui/coherence-overlap-issue-23516-inherent.rs +++ b/src/test/ui/coherence-overlap-issue-23516-inherent.rs @@ -18,9 +18,6 @@ struct Cake<X>(X); impl<T:Sugar> Cake<T> { fn dummy(&self) { } } //~^ ERROR E0592 -//~| NOTE duplicate definitions for `dummy` -//~| NOTE downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>` impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } } -//~^ NOTE other definition for `dummy` fn main() { } diff --git a/src/test/ui/coherence-overlap-issue-23516-inherent.stderr b/src/test/ui/coherence-overlap-issue-23516-inherent.stderr index 265de930489..24d9b26fe9d 100644 --- a/src/test/ui/coherence-overlap-issue-23516-inherent.stderr +++ b/src/test/ui/coherence-overlap-issue-23516-inherent.stderr @@ -3,8 +3,8 @@ error[E0592]: duplicate definitions with name `dummy` | 19 | impl<T:Sugar> Cake<T> { fn dummy(&self) { } } | ^^^^^^^^^^^^^^^^^^^ duplicate definitions for `dummy` -... -23 | impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } } +20 | //~^ ERROR E0592 +21 | impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } } | ------------------- other definition for `dummy` | = note: downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>` diff --git a/src/test/ui/coherence-overlap-issue-23516.rs b/src/test/ui/coherence-overlap-issue-23516.rs index ffef5bf1087..3cd184b9be9 100644 --- a/src/test/ui/coherence-overlap-issue-23516.rs +++ b/src/test/ui/coherence-overlap-issue-23516.rs @@ -15,10 +15,7 @@ pub trait Sugar { fn dummy(&self) { } } pub trait Sweet { fn dummy(&self) { } } impl<T:Sugar> Sweet for T { } -//~^ NOTE first implementation here impl<U:Sugar> Sweet for Box<U> { } //~^ ERROR E0119 -//~| NOTE conflicting implementation for `std::boxed::Box<_>` -//~| NOTE downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>` fn main() { } diff --git a/src/test/ui/coherence-overlap-issue-23516.stderr b/src/test/ui/coherence-overlap-issue-23516.stderr index ac3293b5f3f..8e107e06a9e 100644 --- a/src/test/ui/coherence-overlap-issue-23516.stderr +++ b/src/test/ui/coherence-overlap-issue-23516.stderr @@ -1,10 +1,9 @@ error[E0119]: conflicting implementations of trait `Sweet` for type `std::boxed::Box<_>`: - --> $DIR/coherence-overlap-issue-23516.rs:19:1 + --> $DIR/coherence-overlap-issue-23516.rs:18:1 | 17 | impl<T:Sugar> Sweet for T { } | ----------------------------- first implementation here -18 | //~^ NOTE first implementation here -19 | impl<U:Sugar> Sweet for Box<U> { } +18 | impl<U:Sugar> Sweet for Box<U> { } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `std::boxed::Box<_>` | = note: downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>` diff --git a/src/test/ui/coherence-overlap-upstream-inherent.rs b/src/test/ui/coherence-overlap-upstream-inherent.rs index 1d0c63110ce..a5a6a88a128 100644 --- a/src/test/ui/coherence-overlap-upstream-inherent.rs +++ b/src/test/ui/coherence-overlap-upstream-inherent.rs @@ -20,9 +20,6 @@ use coherence_lib::Remote; struct A<X>(X); impl<T> A<T> where T: Remote { fn dummy(&self) { } } //~^ ERROR E0592 -//~| NOTE duplicate definitions for `dummy` -//~| NOTE upstream crates may add new impl of trait `coherence_lib::Remote` for type `i16` impl A<i16> { fn dummy(&self) { } } -//~^ NOTE other definition for `dummy` fn main() {} diff --git a/src/test/ui/coherence-overlap-upstream-inherent.stderr b/src/test/ui/coherence-overlap-upstream-inherent.stderr index 547e1d76461..db32bcb81c6 100644 --- a/src/test/ui/coherence-overlap-upstream-inherent.stderr +++ b/src/test/ui/coherence-overlap-upstream-inherent.stderr @@ -3,8 +3,8 @@ error[E0592]: duplicate definitions with name `dummy` | 21 | impl<T> A<T> where T: Remote { fn dummy(&self) { } } | ^^^^^^^^^^^^^^^^^^^ duplicate definitions for `dummy` -... -25 | impl A<i16> { fn dummy(&self) { } } +22 | //~^ ERROR E0592 +23 | impl A<i16> { fn dummy(&self) { } } | ------------------- other definition for `dummy` | = note: upstream crates may add new impl of trait `coherence_lib::Remote` for type `i16` in future versions diff --git a/src/test/ui/coherence-overlap-upstream.rs b/src/test/ui/coherence-overlap-upstream.rs index e978143a067..f772848cb58 100644 --- a/src/test/ui/coherence-overlap-upstream.rs +++ b/src/test/ui/coherence-overlap-upstream.rs @@ -19,10 +19,7 @@ use coherence_lib::Remote; trait Foo {} impl<T> Foo for T where T: Remote {} -//~^ NOTE first implementation here impl Foo for i16 {} //~^ ERROR E0119 -//~| NOTE conflicting implementation for `i16` -//~| NOTE upstream crates may add new impl of trait `coherence_lib::Remote` for type `i16` fn main() {} diff --git a/src/test/ui/coherence-overlap-upstream.stderr b/src/test/ui/coherence-overlap-upstream.stderr index ab0daf322c3..48961572b72 100644 --- a/src/test/ui/coherence-overlap-upstream.stderr +++ b/src/test/ui/coherence-overlap-upstream.stderr @@ -1,10 +1,9 @@ error[E0119]: conflicting implementations of trait `Foo` for type `i16`: - --> $DIR/coherence-overlap-upstream.rs:23:1 + --> $DIR/coherence-overlap-upstream.rs:22:1 | 21 | impl<T> Foo for T where T: Remote {} | ------------------------------------ first implementation here -22 | //~^ NOTE first implementation here -23 | impl Foo for i16 {} +22 | impl Foo for i16 {} | ^^^^^^^^^^^^^^^^^^^ conflicting implementation for `i16` | = note: upstream crates may add new impl of trait `coherence_lib::Remote` for type `i16` in future versions diff --git a/src/test/ui/const-deref-ptr.rs b/src/test/ui/const-deref-ptr.rs index c626801d48c..fa15f3e87c6 100644 --- a/src/test/ui/const-deref-ptr.rs +++ b/src/test/ui/const-deref-ptr.rs @@ -12,6 +12,5 @@ fn main() { static C: u64 = unsafe {*(0xdeadbeef as *const u64)}; //~ ERROR E0396 - //~| NOTE dereference of raw pointer in constant println!("{}", C); } diff --git a/src/test/ui/const-eval-overflow-2.rs b/src/test/ui/const-eval-overflow-2.rs index 0fd41a17b2c..6b7f631ff4c 100644 --- a/src/test/ui/const-eval-overflow-2.rs +++ b/src/test/ui/const-eval-overflow-2.rs @@ -24,7 +24,7 @@ const NEG_NEG_128: i8 = -NEG_128; fn main() { match -128i8 { - NEG_NEG_128 => println!("A"), //~ NOTE for pattern here + NEG_NEG_128 => println!("A"), _ => println!("B"), } } diff --git a/src/test/ui/const-eval-overflow-2.stderr b/src/test/ui/const-eval-overflow-2.stderr index 51cd0bac868..a9d29d01071 100644 --- a/src/test/ui/const-eval-overflow-2.stderr +++ b/src/test/ui/const-eval-overflow-2.stderr @@ -7,7 +7,7 @@ error[E0080]: constant evaluation error note: for pattern here --> $DIR/const-eval-overflow-2.rs:27:9 | -27 | NEG_NEG_128 => println!("A"), //~ NOTE for pattern here +27 | NEG_NEG_128 => println!("A"), | ^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/const-eval-overflow-4.rs b/src/test/ui/const-eval-overflow-4.rs index 2b1c1017b5b..4423fdec33a 100644 --- a/src/test/ui/const-eval-overflow-4.rs +++ b/src/test/ui/const-eval-overflow-4.rs @@ -22,9 +22,7 @@ use std::{u8, u16, u32, u64, usize}; const A_I8_T : [u32; (i8::MAX as i8 + 1i8) as usize] //~^ ERROR constant evaluation error - //~^^ NOTE attempt to add with overflow //~| WARNING constant evaluation error - //~| NOTE on by default = [0; (i8::MAX as usize) + 1]; fn main() { @@ -34,4 +32,3 @@ fn main() { fn foo<T:fmt::Debug>(x: T) { println!("{:?}", x); } - diff --git a/src/test/ui/const-eval-span.rs b/src/test/ui/const-eval-span.rs index 16f89606b01..f0fa1c0b9b4 100644 --- a/src/test/ui/const-eval-span.rs +++ b/src/test/ui/const-eval-span.rs @@ -19,7 +19,6 @@ enum E { V = CONSTANT, //~^ ERROR mismatched types //~| expected isize, found struct `S` - //~| NOTE expected type `isize` //~| found type `S` } diff --git a/src/test/ui/const-fn-error.rs b/src/test/ui/const-fn-error.rs index baf836b4dad..ac1c2fe5432 100644 --- a/src/test/ui/const-fn-error.rs +++ b/src/test/ui/const-fn-error.rs @@ -24,7 +24,6 @@ const fn f(x: usize) -> usize { #[allow(unused_variables)] fn main() { - let a : [i32; f(X)]; //~ NOTE for constant expression here - //~| WARNING constant evaluation error: non-constant path - //~| on by default + let a : [i32; f(X)]; + //~^ WARNING constant evaluation error: non-constant path } diff --git a/src/test/ui/const-fn-error.stderr b/src/test/ui/const-fn-error.stderr index 2bf88cf2d03..f86b94a4c74 100644 --- a/src/test/ui/const-fn-error.stderr +++ b/src/test/ui/const-fn-error.stderr @@ -7,7 +7,7 @@ error[E0080]: constant evaluation error note: for constant expression here --> $DIR/const-fn-error.rs:26:13 | -26 | let a : [i32; f(X)]; //~ NOTE for constant expression here +26 | let a : [i32; f(X)]; | ^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/const-fn-mismatch.rs b/src/test/ui/const-fn-mismatch.rs index 7ea72e23779..4e1fa6bd186 100644 --- a/src/test/ui/const-fn-mismatch.rs +++ b/src/test/ui/const-fn-mismatch.rs @@ -22,7 +22,6 @@ trait Foo { impl Foo for u32 { const fn f() -> u32 { 22 } //~^ ERROR trait fns cannot be declared const - //~| NOTE trait fns cannot be const } fn main() { } diff --git a/src/test/ui/const-fn-not-in-trait.rs b/src/test/ui/const-fn-not-in-trait.rs index 257d4d5ee99..1877929173d 100644 --- a/src/test/ui/const-fn-not-in-trait.rs +++ b/src/test/ui/const-fn-not-in-trait.rs @@ -16,10 +16,8 @@ trait Foo { const fn f() -> u32; //~^ ERROR trait fns cannot be declared const - //~| NOTE trait fns cannot be const const fn g() -> u32 { 0 } //~^ ERROR trait fns cannot be declared const - //~| NOTE trait fns cannot be const } fn main() { } diff --git a/src/test/ui/const-fn-not-in-trait.stderr b/src/test/ui/const-fn-not-in-trait.stderr index 118e186cf8a..d23bf3b411b 100644 --- a/src/test/ui/const-fn-not-in-trait.stderr +++ b/src/test/ui/const-fn-not-in-trait.stderr @@ -5,9 +5,9 @@ error[E0379]: trait fns cannot be declared const | ^^^^^ trait fns cannot be const error[E0379]: trait fns cannot be declared const - --> $DIR/const-fn-not-in-trait.rs:20:5 + --> $DIR/const-fn-not-in-trait.rs:19:5 | -20 | const fn g() -> u32 { 0 } +19 | const fn g() -> u32 { 0 } | ^^^^^ trait fns cannot be const error: aborting due to 2 previous errors diff --git a/src/test/ui/const-len-underflow-separate-spans.rs b/src/test/ui/const-len-underflow-separate-spans.rs index eaad9e7e92b..0fd49bec159 100644 --- a/src/test/ui/const-len-underflow-separate-spans.rs +++ b/src/test/ui/const-len-underflow-separate-spans.rs @@ -22,5 +22,4 @@ const LEN: usize = ONE - TWO; fn main() { let a: [i8; LEN] = unimplemented!(); - //~^ NOTE for constant expression here } diff --git a/src/test/ui/const-pattern-not-const-evaluable.rs b/src/test/ui/const-pattern-not-const-evaluable.rs index 71cac3edbc1..263c0bdc64c 100644 --- a/src/test/ui/const-pattern-not-const-evaluable.rs +++ b/src/test/ui/const-pattern-not-const-evaluable.rs @@ -34,7 +34,7 @@ const GOO: Cake = foo(); fn main() { match BlackForest { - FOO => println!("hi"), //~ NOTE: for pattern here + FOO => println!("hi"), GOO => println!("meh"), WORKS => println!("möp"), _ => println!("bye"), diff --git a/src/test/ui/const-pattern-not-const-evaluable.stderr b/src/test/ui/const-pattern-not-const-evaluable.stderr index 5a64a756a0a..5441937e4dd 100644 --- a/src/test/ui/const-pattern-not-const-evaluable.stderr +++ b/src/test/ui/const-pattern-not-const-evaluable.stderr @@ -7,7 +7,7 @@ error[E0080]: constant evaluation error note: for pattern here --> $DIR/const-pattern-not-const-evaluable.rs:37:9 | -37 | FOO => println!("hi"), //~ NOTE: for pattern here +37 | FOO => println!("hi"), | ^^^ error: aborting due to previous error diff --git a/src/test/ui/const-unsized.rs b/src/test/ui/const-unsized.rs index 4b212814ded..c6ce34b60ca 100644 --- a/src/test/ui/const-unsized.rs +++ b/src/test/ui/const-unsized.rs @@ -12,23 +12,15 @@ use std::fmt::Debug; const CONST_0: Debug+Sync = *(&0 as &(Debug+Sync)); //~^ ERROR `std::fmt::Debug + std::marker::Sync + 'static: std::marker::Sized` is not satisfied -//~| NOTE does not have a constant size known at compile-time -//~| NOTE constant expressions must have a statically known size const CONST_FOO: str = *"foo"; //~^ ERROR `str: std::marker::Sized` is not satisfied -//~| NOTE does not have a constant size known at compile-time -//~| NOTE constant expressions must have a statically known size static STATIC_1: Debug+Sync = *(&1 as &(Debug+Sync)); //~^ ERROR `std::fmt::Debug + std::marker::Sync + 'static: std::marker::Sized` is not satisfied -//~| NOTE does not have a constant size known at compile-time -//~| NOTE constant expressions must have a statically known size static STATIC_BAR: str = *"bar"; //~^ ERROR `str: std::marker::Sized` is not satisfied -//~| NOTE does not have a constant size known at compile-time -//~| NOTE constant expressions must have a statically known size fn main() { println!("{:?} {:?} {:?} {:?}", &CONST_0, &CONST_FOO, &STATIC_1, &STATIC_BAR); diff --git a/src/test/ui/const-unsized.stderr b/src/test/ui/const-unsized.stderr index ab496b7bce3..ba948643a37 100644 --- a/src/test/ui/const-unsized.stderr +++ b/src/test/ui/const-unsized.stderr @@ -8,27 +8,27 @@ error[E0277]: the trait bound `std::fmt::Debug + std::marker::Sync + 'static: st = note: constant expressions must have a statically known size error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied - --> $DIR/const-unsized.rs:18:24 + --> $DIR/const-unsized.rs:16:24 | -18 | const CONST_FOO: str = *"foo"; +16 | const CONST_FOO: str = *"foo"; | ^^^^^^ `str` does not have a constant size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `str` = note: constant expressions must have a statically known size error[E0277]: the trait bound `std::fmt::Debug + std::marker::Sync + 'static: std::marker::Sized` is not satisfied - --> $DIR/const-unsized.rs:23:31 + --> $DIR/const-unsized.rs:19:31 | -23 | static STATIC_1: Debug+Sync = *(&1 as &(Debug+Sync)); +19 | static STATIC_1: Debug+Sync = *(&1 as &(Debug+Sync)); | ^^^^^^^^^^^^^^^^^^^^^^ `std::fmt::Debug + std::marker::Sync + 'static` does not have a constant size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `std::fmt::Debug + std::marker::Sync + 'static` = note: constant expressions must have a statically known size error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied - --> $DIR/const-unsized.rs:28:26 + --> $DIR/const-unsized.rs:22:26 | -28 | static STATIC_BAR: str = *"bar"; +22 | static STATIC_BAR: str = *"bar"; | ^^^^^^ `str` does not have a constant size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `str` diff --git a/src/test/ui/cycle-trait-supertrait-indirect.rs b/src/test/ui/cycle-trait-supertrait-indirect.rs index 905d546e99a..c3b0276bcf9 100644 --- a/src/test/ui/cycle-trait-supertrait-indirect.rs +++ b/src/test/ui/cycle-trait-supertrait-indirect.rs @@ -12,16 +12,13 @@ // a direct participant in the cycle. trait A: B { - //~^ NOTE the cycle begins when computing the supertraits of `B`... } trait B: C { - //~^ NOTE ...which then requires computing the supertraits of `C`... } trait C: B { } //~^ ERROR unsupported cyclic reference //~| cyclic reference - //~| NOTE ...which then again requires computing the supertraits of `B`, completing the cycle fn main() { } diff --git a/src/test/ui/cycle-trait-supertrait-indirect.stderr b/src/test/ui/cycle-trait-supertrait-indirect.stderr index 1f4e1016bb1..107644037a9 100644 --- a/src/test/ui/cycle-trait-supertrait-indirect.stderr +++ b/src/test/ui/cycle-trait-supertrait-indirect.stderr @@ -1,7 +1,7 @@ error[E0391]: unsupported cyclic reference between types/traits detected - --> $DIR/cycle-trait-supertrait-indirect.rs:22:1 + --> $DIR/cycle-trait-supertrait-indirect.rs:20:1 | -22 | trait C: B { } +20 | trait C: B { } | ^^^^^^^^^^ cyclic reference | note: the cycle begins when computing the supertraits of `B`... @@ -10,9 +10,9 @@ note: the cycle begins when computing the supertraits of `B`... 14 | trait A: B { | ^^^^^^^^^^ note: ...which then requires computing the supertraits of `C`... - --> $DIR/cycle-trait-supertrait-indirect.rs:18:1 + --> $DIR/cycle-trait-supertrait-indirect.rs:17:1 | -18 | trait B: C { +17 | trait B: C { | ^^^^^^^^^^ = note: ...which then again requires computing the supertraits of `B`, completing the cycle. diff --git a/src/test/ui/deprecated-macro_escape-inner.rs b/src/test/ui/deprecated-macro_escape-inner.rs index 3d253ba49da..dce80698dea 100644 --- a/src/test/ui/deprecated-macro_escape-inner.rs +++ b/src/test/ui/deprecated-macro_escape-inner.rs @@ -12,7 +12,6 @@ mod foo { #![macro_escape] //~ WARNING macro_escape is a deprecated synonym for macro_use - //~^ HELP consider an outer attribute } fn main() { diff --git a/src/test/ui/derived-errors/issue-31997-1.rs b/src/test/ui/derived-errors/issue-31997-1.rs index 6a9d8db9654..7d79c48c06a 100644 --- a/src/test/ui/derived-errors/issue-31997-1.rs +++ b/src/test/ui/derived-errors/issue-31997-1.rs @@ -29,7 +29,6 @@ fn main() { let mut map = HashMap::new(); //~^ ERROR E0433 - //~| NOTE Use of undeclared type or module `HashMap` for line in input.lines() { let line = line.unwrap(); diff --git a/src/test/ui/discrim-overflow-2.rs b/src/test/ui/discrim-overflow-2.rs index 213683b5808..9f77e77d158 100644 --- a/src/test/ui/discrim-overflow-2.rs +++ b/src/test/ui/discrim-overflow-2.rs @@ -25,8 +25,6 @@ fn f_i8() { Ok = i8::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 127i8 - //~| NOTE explicitly set `OhNo = -128i8` if that is desired outcome } } @@ -36,8 +34,6 @@ fn f_u8() { Ok = u8::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 255u8 - //~| NOTE explicitly set `OhNo = 0u8` if that is desired outcome } } @@ -47,8 +43,6 @@ fn f_i16() { Ok = i16::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 32767i16 - //~| NOTE explicitly set `OhNo = -32768i16` if that is desired outcome } } @@ -58,8 +52,6 @@ fn f_u16() { Ok = u16::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 65535u16 - //~| NOTE explicitly set `OhNo = 0u16` if that is desired outcome } } @@ -69,8 +61,6 @@ fn f_i32() { Ok = i32::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 2147483647i32 - //~| NOTE explicitly set `OhNo = -2147483648i32` if that is desired outcome } } @@ -80,8 +70,6 @@ fn f_u32() { Ok = u32::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 4294967295u32 - //~| NOTE explicitly set `OhNo = 0u32` if that is desired outcome } } @@ -91,8 +79,6 @@ fn f_i64() { Ok = i64::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 9223372036854775807i64 - //~| NOTE explicitly set `OhNo = -9223372036854775808i64` if that is desired outcome } } @@ -102,8 +88,6 @@ fn f_u64() { Ok = u64::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 18446744073709551615u64 - //~| NOTE explicitly set `OhNo = 0u64` if that is desired outcome } } diff --git a/src/test/ui/discrim-overflow-2.stderr b/src/test/ui/discrim-overflow-2.stderr index be1b5f0ef20..660110cd737 100644 --- a/src/test/ui/discrim-overflow-2.stderr +++ b/src/test/ui/discrim-overflow-2.stderr @@ -7,60 +7,60 @@ error[E0370]: enum discriminant overflowed = note: explicitly set `OhNo = -128i8` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:38:9 + --> $DIR/discrim-overflow-2.rs:36:9 | -38 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +36 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 255u8 | = note: explicitly set `OhNo = 0u8` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:49:9 + --> $DIR/discrim-overflow-2.rs:45:9 | -49 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +45 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 32767i16 | = note: explicitly set `OhNo = -32768i16` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:60:9 + --> $DIR/discrim-overflow-2.rs:54:9 | -60 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +54 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 65535u16 | = note: explicitly set `OhNo = 0u16` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:71:9 + --> $DIR/discrim-overflow-2.rs:63:9 | -71 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +63 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 2147483647i32 | = note: explicitly set `OhNo = -2147483648i32` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:82:9 + --> $DIR/discrim-overflow-2.rs:72:9 | -82 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +72 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 4294967295u32 | = note: explicitly set `OhNo = 0u32` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:93:9 + --> $DIR/discrim-overflow-2.rs:81:9 | -93 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +81 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 9223372036854775807i64 | = note: explicitly set `OhNo = -9223372036854775808i64` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow-2.rs:104:9 - | -104 | OhNo, //~ ERROR enum discriminant overflowed [E0370] - | ^^^^ overflowed on value after 18446744073709551615u64 - | - = note: explicitly set `OhNo = 0u64` if that is desired outcome + --> $DIR/discrim-overflow-2.rs:90:9 + | +90 | OhNo, //~ ERROR enum discriminant overflowed [E0370] + | ^^^^ overflowed on value after 18446744073709551615u64 + | + = note: explicitly set `OhNo = 0u64` if that is desired outcome error: aborting due to 8 previous errors diff --git a/src/test/ui/discrim-overflow.rs b/src/test/ui/discrim-overflow.rs index a3039b8d957..0b31d9f97f1 100644 --- a/src/test/ui/discrim-overflow.rs +++ b/src/test/ui/discrim-overflow.rs @@ -23,8 +23,6 @@ fn f_i8() { Ok = i8::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 127i8 - //~| NOTE explicitly set `OhNo = -128i8` if that is desired outcome } let x = A::Ok; @@ -36,8 +34,6 @@ fn f_u8() { Ok = u8::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 255u8 - //~| NOTE explicitly set `OhNo = 0u8` if that is desired outcome } let x = A::Ok; @@ -49,8 +45,6 @@ fn f_i16() { Ok = i16::MAX - 1, Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] - //~| NOTE overflowed on value after 32767i16 - //~| NOTE explicitly set `OhNo = -32768i16` if that is desired outcome } let x = A::Ok; @@ -63,7 +57,6 @@ fn f_u16() { Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] //~| overflowed on value after 65535u16 - //~| NOTE explicitly set `OhNo = 0u16` if that is desired outcome } let x = A::Ok; @@ -76,7 +69,6 @@ fn f_i32() { Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] //~| overflowed on value after 2147483647i32 - //~| NOTE explicitly set `OhNo = -2147483648i32` if that is desired outcome } let x = A::Ok; @@ -89,7 +81,6 @@ fn f_u32() { Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] //~| overflowed on value after 4294967295u32 - //~| NOTE explicitly set `OhNo = 0u32` if that is desired outcome } let x = A::Ok; @@ -102,7 +93,6 @@ fn f_i64() { Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] //~| overflowed on value after 9223372036854775807i64 - //~| NOTE explicitly set `OhNo = -9223372036854775808i64` if that is desired outcome } let x = A::Ok; @@ -115,7 +105,6 @@ fn f_u64() { Ok2, OhNo, //~ ERROR enum discriminant overflowed [E0370] //~| overflowed on value after 18446744073709551615u64 - //~| NOTE explicitly set `OhNo = 0u64` if that is desired outcome } let x = A::Ok; diff --git a/src/test/ui/discrim-overflow.stderr b/src/test/ui/discrim-overflow.stderr index 3af82876f6f..733810006d7 100644 --- a/src/test/ui/discrim-overflow.stderr +++ b/src/test/ui/discrim-overflow.stderr @@ -7,57 +7,57 @@ error[E0370]: enum discriminant overflowed = note: explicitly set `OhNo = -128i8` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:38:9 + --> $DIR/discrim-overflow.rs:36:9 | -38 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +36 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 255u8 | = note: explicitly set `OhNo = 0u8` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:51:9 + --> $DIR/discrim-overflow.rs:47:9 | -51 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +47 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 32767i16 | = note: explicitly set `OhNo = -32768i16` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:64:9 + --> $DIR/discrim-overflow.rs:58:9 | -64 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +58 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 65535u16 | = note: explicitly set `OhNo = 0u16` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:77:9 + --> $DIR/discrim-overflow.rs:70:9 | -77 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +70 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 2147483647i32 | = note: explicitly set `OhNo = -2147483648i32` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:90:9 + --> $DIR/discrim-overflow.rs:82:9 | -90 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +82 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 4294967295u32 | = note: explicitly set `OhNo = 0u32` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:103:9 - | -103 | OhNo, //~ ERROR enum discriminant overflowed [E0370] - | ^^^^ overflowed on value after 9223372036854775807i64 - | - = note: explicitly set `OhNo = -9223372036854775808i64` if that is desired outcome + --> $DIR/discrim-overflow.rs:94:9 + | +94 | OhNo, //~ ERROR enum discriminant overflowed [E0370] + | ^^^^ overflowed on value after 9223372036854775807i64 + | + = note: explicitly set `OhNo = -9223372036854775808i64` if that is desired outcome error[E0370]: enum discriminant overflowed - --> $DIR/discrim-overflow.rs:116:9 + --> $DIR/discrim-overflow.rs:106:9 | -116 | OhNo, //~ ERROR enum discriminant overflowed [E0370] +106 | OhNo, //~ ERROR enum discriminant overflowed [E0370] | ^^^^ overflowed on value after 18446744073709551615u64 | = note: explicitly set `OhNo = 0u64` if that is desired outcome diff --git a/src/test/ui/double-import.rs b/src/test/ui/double-import.rs index 21b8ded6d93..154c9bebb0f 100644 --- a/src/test/ui/double-import.rs +++ b/src/test/ui/double-import.rs @@ -19,9 +19,7 @@ mod sub2 { pub fn foo() {} // implementation 2 } -use sub1::foo; //~ NOTE previous import of the value `foo` here +use sub1::foo; use sub2::foo; //~ ERROR the name `foo` is defined multiple times - //~| NOTE `foo` reimported here - //~| NOTE `foo` must be defined only once in the value namespace of this module fn main() {} diff --git a/src/test/ui/double-import.stderr b/src/test/ui/double-import.stderr index 0219a17618b..fcd3f2696f2 100644 --- a/src/test/ui/double-import.stderr +++ b/src/test/ui/double-import.stderr @@ -1,7 +1,7 @@ error[E0252]: the name `foo` is defined multiple times --> $DIR/double-import.rs:23:5 | -22 | use sub1::foo; //~ NOTE previous import of the value `foo` here +22 | use sub1::foo; | --------- previous import of the value `foo` here 23 | use sub2::foo; //~ ERROR the name `foo` is defined multiple times | ^^^^^^^^^ `foo` reimported here diff --git a/src/test/ui/duplicate-check-macro-exports.rs b/src/test/ui/duplicate-check-macro-exports.rs index 53d7e54ee5b..d874a43d53d 100644 --- a/src/test/ui/duplicate-check-macro-exports.rs +++ b/src/test/ui/duplicate-check-macro-exports.rs @@ -10,10 +10,9 @@ #![feature(use_extern_macros)] -pub use std::panic; //~ NOTE previous macro export here +pub use std::panic; #[macro_export] macro_rules! panic { () => {} } //~ ERROR a macro named `panic` has already been exported -//~| NOTE `panic` already exported fn main() {} diff --git a/src/test/ui/duplicate-check-macro-exports.stderr b/src/test/ui/duplicate-check-macro-exports.stderr index c512291f2d9..4e7176f3518 100644 --- a/src/test/ui/duplicate-check-macro-exports.stderr +++ b/src/test/ui/duplicate-check-macro-exports.stderr @@ -7,7 +7,7 @@ error: a macro named `panic` has already been exported note: previous macro export here --> $DIR/duplicate-check-macro-exports.rs:13:9 | -13 | pub use std::panic; //~ NOTE previous macro export here +13 | pub use std::panic; | ^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/empty-struct-unit-expr.rs b/src/test/ui/empty-struct-unit-expr.rs index 9655007604d..c33960193b0 100644 --- a/src/test/ui/empty-struct-unit-expr.rs +++ b/src/test/ui/empty-struct-unit-expr.rs @@ -25,9 +25,7 @@ fn main() { let e2 = Empty2(); //~ ERROR expected function, found `Empty2` let e4 = E::Empty4(); //~^ ERROR expected function, found `E::Empty4` [E0618] - //~| HELP did you mean to write `E::Empty4`? let xe2 = XEmpty2(); //~ ERROR expected function, found `empty_struct::XEmpty2` let xe4 = XE::XEmpty4(); //~^ ERROR expected function, found `XE::XEmpty4` [E0618] - //~| HELP did you mean to write `XE::XEmpty4`? } diff --git a/src/test/ui/empty-struct-unit-expr.stderr b/src/test/ui/empty-struct-unit-expr.stderr index 0c722dd645d..3ce63ed9f42 100644 --- a/src/test/ui/empty-struct-unit-expr.stderr +++ b/src/test/ui/empty-struct-unit-expr.stderr @@ -24,15 +24,15 @@ note: defined here | ^^^^^^ error[E0618]: expected function, found `empty_struct::XEmpty2` - --> $DIR/empty-struct-unit-expr.rs:29:15 + --> $DIR/empty-struct-unit-expr.rs:28:15 | -29 | let xe2 = XEmpty2(); //~ ERROR expected function, found `empty_struct::XEmpty2` +28 | let xe2 = XEmpty2(); //~ ERROR expected function, found `empty_struct::XEmpty2` | ^^^^^^^^^ error[E0618]: expected function, found `XE::XEmpty4` - --> $DIR/empty-struct-unit-expr.rs:30:15 + --> $DIR/empty-struct-unit-expr.rs:29:15 | -30 | let xe4 = XE::XEmpty4(); +29 | let xe4 = XE::XEmpty4(); | ^^^^^^^^^^^^^ | = help: did you mean to write `XE::XEmpty4`? diff --git a/src/test/ui/enum-and-module-in-same-scope.rs b/src/test/ui/enum-and-module-in-same-scope.rs index 59b4d715c2d..9b6c8712f69 100644 --- a/src/test/ui/enum-and-module-in-same-scope.rs +++ b/src/test/ui/enum-and-module-in-same-scope.rs @@ -8,13 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -enum Foo { //~ NOTE previous definition of the type `Foo` here +enum Foo { X } mod Foo { //~ ERROR the name `Foo` is defined multiple times - //~| NOTE `Foo` redefined here - //~| NOTE `Foo` must be defined only once in the type namespace of this module pub static X: isize = 42; fn f() { f() } // Check that this does not result in a resolution error } diff --git a/src/test/ui/enum-and-module-in-same-scope.stderr b/src/test/ui/enum-and-module-in-same-scope.stderr index 6f3a2c89d19..723e13f4109 100644 --- a/src/test/ui/enum-and-module-in-same-scope.stderr +++ b/src/test/ui/enum-and-module-in-same-scope.stderr @@ -1,17 +1,15 @@ error[E0428]: the name `Foo` is defined multiple times --> $DIR/enum-and-module-in-same-scope.rs:15:1 | -11 | / enum Foo { //~ NOTE previous definition of the type `Foo` here +11 | / enum Foo { 12 | | X 13 | | } | |_- previous definition of the type `Foo` here 14 | 15 | / mod Foo { //~ ERROR the name `Foo` is defined multiple times -16 | | //~| NOTE `Foo` redefined here -17 | | //~| NOTE `Foo` must be defined only once in the type namespace of this module -18 | | pub static X: isize = 42; -19 | | fn f() { f() } // Check that this does not result in a resolution error -20 | | } +16 | | pub static X: isize = 42; +17 | | fn f() { f() } // Check that this does not result in a resolution error +18 | | } | |_^ `Foo` redefined here | = note: `Foo` must be defined only once in the type namespace of this module diff --git a/src/test/ui/fat-ptr-cast.rs b/src/test/ui/fat-ptr-cast.rs index bc2dc1cc5d4..0802963ad22 100644 --- a/src/test/ui/fat-ptr-cast.rs +++ b/src/test/ui/fat-ptr-cast.rs @@ -18,14 +18,12 @@ fn main() { let q = a.as_ptr(); a as usize; //~ ERROR casting - //~^ HELP cast through a raw pointer first a as isize; //~ ERROR casting a as i16; //~ ERROR casting `&[i32]` as `i16` is invalid a as u32; //~ ERROR casting `&[i32]` as `u32` is invalid b as usize; //~ ERROR non-primitive cast p as usize; //~^ ERROR casting - //~^^ HELP cast through a thin pointer // #22955 q as *const [i32]; //~ ERROR cannot cast diff --git a/src/test/ui/fat-ptr-cast.stderr b/src/test/ui/fat-ptr-cast.stderr index 1cad2eeaee2..35a97749e00 100644 --- a/src/test/ui/fat-ptr-cast.stderr +++ b/src/test/ui/fat-ptr-cast.stderr @@ -7,55 +7,55 @@ error[E0606]: casting `&[i32]` as `usize` is invalid = help: cast through a raw pointer first error[E0606]: casting `&[i32]` as `isize` is invalid - --> $DIR/fat-ptr-cast.rs:22:5 + --> $DIR/fat-ptr-cast.rs:21:5 | -22 | a as isize; //~ ERROR casting +21 | a as isize; //~ ERROR casting | ^^^^^^^^^^ error[E0606]: casting `&[i32]` as `i16` is invalid - --> $DIR/fat-ptr-cast.rs:23:5 + --> $DIR/fat-ptr-cast.rs:22:5 | -23 | a as i16; //~ ERROR casting `&[i32]` as `i16` is invalid +22 | a as i16; //~ ERROR casting `&[i32]` as `i16` is invalid | ^^^^^^^^ error[E0606]: casting `&[i32]` as `u32` is invalid - --> $DIR/fat-ptr-cast.rs:24:5 + --> $DIR/fat-ptr-cast.rs:23:5 | -24 | a as u32; //~ ERROR casting `&[i32]` as `u32` is invalid +23 | a as u32; //~ ERROR casting `&[i32]` as `u32` is invalid | ^^^^^^^^ error[E0605]: non-primitive cast: `std::boxed::Box<[i32]>` as `usize` - --> $DIR/fat-ptr-cast.rs:25:5 + --> $DIR/fat-ptr-cast.rs:24:5 | -25 | b as usize; //~ ERROR non-primitive cast +24 | b as usize; //~ ERROR non-primitive cast | ^^^^^^^^^^ | = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait error[E0606]: casting `*const [i32]` as `usize` is invalid - --> $DIR/fat-ptr-cast.rs:26:5 + --> $DIR/fat-ptr-cast.rs:25:5 | -26 | p as usize; +25 | p as usize; | ^^^^^^^^^^ | = help: cast through a thin pointer first error[E0607]: cannot cast thin pointer `*const i32` to fat pointer `*const [i32]` - --> $DIR/fat-ptr-cast.rs:31:5 + --> $DIR/fat-ptr-cast.rs:29:5 | -31 | q as *const [i32]; //~ ERROR cannot cast +29 | q as *const [i32]; //~ ERROR cannot cast | ^^^^^^^^^^^^^^^^^ error[E0606]: casting `usize` as `*mut Trait + 'static` is invalid - --> $DIR/fat-ptr-cast.rs:34:37 + --> $DIR/fat-ptr-cast.rs:32:37 | -34 | let t: *mut (Trait + 'static) = 0 as *mut _; //~ ERROR casting +32 | let t: *mut (Trait + 'static) = 0 as *mut _; //~ ERROR casting | ^^^^^^^^^^^ error[E0606]: casting `usize` as `*const str` is invalid - --> $DIR/fat-ptr-cast.rs:35:32 + --> $DIR/fat-ptr-cast.rs:33:32 | -35 | let mut fail: *const str = 0 as *const str; //~ ERROR casting +33 | let mut fail: *const str = 0 as *const str; //~ ERROR casting | ^^^^^^^^^^^^^^^ error: aborting due to 9 previous errors diff --git a/src/test/ui/feature-gate-decl_macro.rs b/src/test/ui/feature-gate-decl_macro.rs index c5c83977c77..4cb34c8274d 100644 --- a/src/test/ui/feature-gate-decl_macro.rs +++ b/src/test/ui/feature-gate-decl_macro.rs @@ -11,6 +11,5 @@ #![allow(unused_macros)] macro m() {} //~ ERROR `macro` is experimental (see issue #39412) -//~| HELP add #![feature(decl_macro)] to the crate attributes to enable fn main() {} diff --git a/src/test/ui/feature-gate-may-dangle.rs b/src/test/ui/feature-gate-may-dangle.rs index 0bf1e93d9aa..ace9fe9ab27 100644 --- a/src/test/ui/feature-gate-may-dangle.rs +++ b/src/test/ui/feature-gate-may-dangle.rs @@ -17,6 +17,5 @@ struct Pt<A>(A); impl<#[may_dangle] A> Drop for Pt<A> { //~^ ERROR may_dangle has unstable semantics and may be removed in the future - //~| HELP add #![feature(dropck_eyepatch)] to the crate attributes to enable fn drop(&mut self) { } } diff --git a/src/test/ui/feature-gate-repr128.rs b/src/test/ui/feature-gate-repr128.rs index 96fffa6cdd0..f5753f1c7fb 100644 --- a/src/test/ui/feature-gate-repr128.rs +++ b/src/test/ui/feature-gate-repr128.rs @@ -10,7 +10,6 @@ #[repr(u128)] enum A { //~ ERROR repr with 128-bit type is unstable - //~| HELP: add #![feature(repr128)] A(u64) } diff --git a/src/test/ui/feature-gate-repr128.stderr b/src/test/ui/feature-gate-repr128.stderr index 2d32eda3b37..c59964887b5 100644 --- a/src/test/ui/feature-gate-repr128.stderr +++ b/src/test/ui/feature-gate-repr128.stderr @@ -2,9 +2,8 @@ error: repr with 128-bit type is unstable (see issue #35118) --> $DIR/feature-gate-repr128.rs:12:1 | 12 | / enum A { //~ ERROR repr with 128-bit type is unstable -13 | | //~| HELP: add #![feature(repr128)] -14 | | A(u64) -15 | | } +13 | | A(u64) +14 | | } | |_^ | = help: add #![feature(repr128)] to the crate attributes to enable diff --git a/src/test/ui/generic-type-less-params-with-defaults.rs b/src/test/ui/generic-type-less-params-with-defaults.rs index 9b19e09eeae..c873fa67600 100644 --- a/src/test/ui/generic-type-less-params-with-defaults.rs +++ b/src/test/ui/generic-type-less-params-with-defaults.rs @@ -18,5 +18,4 @@ struct Vec<T, A = Heap>( fn main() { let _: Vec; //~^ ERROR wrong number of type arguments: expected at least 1, found 0 [E0243] - //~| NOTE expected at least 1 type argument } diff --git a/src/test/ui/generic-type-more-params-with-defaults.rs b/src/test/ui/generic-type-more-params-with-defaults.rs index b5764ef89ab..0d1b1943ca2 100644 --- a/src/test/ui/generic-type-more-params-with-defaults.rs +++ b/src/test/ui/generic-type-more-params-with-defaults.rs @@ -18,5 +18,4 @@ struct Vec<T, A = Heap>( fn main() { let _: Vec<isize, Heap, bool>; //~^ ERROR wrong number of type arguments: expected at most 2, found 3 [E0244] - //~| NOTE expected at most 2 type arguments } diff --git a/src/test/ui/if-let-arm-types.rs b/src/test/ui/if-let-arm-types.rs index 40013a7ee43..331fdc444ca 100644 --- a/src/test/ui/if-let-arm-types.rs +++ b/src/test/ui/if-let-arm-types.rs @@ -14,7 +14,7 @@ fn main() { //~| expected type `()` //~| found type `{integer}` () - } else { //~ NOTE: `if let` arm with an incompatible type + } else { 1 }; } diff --git a/src/test/ui/if-let-arm-types.stderr b/src/test/ui/if-let-arm-types.stderr index cc232027cee..fb8e00bfa94 100644 --- a/src/test/ui/if-let-arm-types.stderr +++ b/src/test/ui/if-let-arm-types.stderr @@ -15,7 +15,7 @@ error[E0308]: `if let` arms have incompatible types note: `if let` arm with an incompatible type --> $DIR/if-let-arm-types.rs:17:12 | -17 | } else { //~ NOTE: `if let` arm with an incompatible type +17 | } else { | ____________^ 18 | | 1 19 | | }; diff --git a/src/test/ui/impl-duplicate-methods.rs b/src/test/ui/impl-duplicate-methods.rs index f6e9ab2d614..88499140751 100644 --- a/src/test/ui/impl-duplicate-methods.rs +++ b/src/test/ui/impl-duplicate-methods.rs @@ -11,10 +11,9 @@ struct Foo; impl Foo { - fn orange(&self) {} //~ NOTE previous definition of `orange` here + fn orange(&self) {} fn orange(&self) {} //~^ ERROR duplicate definition - //~| NOTE duplicate definition } fn main() {} diff --git a/src/test/ui/impl-duplicate-methods.stderr b/src/test/ui/impl-duplicate-methods.stderr index 66b2d605967..73d470cc29e 100644 --- a/src/test/ui/impl-duplicate-methods.stderr +++ b/src/test/ui/impl-duplicate-methods.stderr @@ -1,7 +1,7 @@ error[E0201]: duplicate definitions with name `orange`: --> $DIR/impl-duplicate-methods.rs:15:5 | -14 | fn orange(&self) {} //~ NOTE previous definition of `orange` here +14 | fn orange(&self) {} | ------------------- previous definition of `orange` here 15 | fn orange(&self) {} | ^^^^^^^^^^^^^^^^^^^ duplicate definition diff --git a/src/test/ui/impl-trait/auto-trait-leak.rs b/src/test/ui/impl-trait/auto-trait-leak.rs index 8a5033e7647..705390e3b96 100644 --- a/src/test/ui/impl-trait/auto-trait-leak.rs +++ b/src/test/ui/impl-trait/auto-trait-leak.rs @@ -26,17 +26,9 @@ fn send<T: Send>(_: T) {} fn main() { send(before()); //~^ ERROR the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::Send` is not satisfied - //~| NOTE `std::rc::Rc<std::cell::Cell<i32>>` cannot be sent between threads safely - //~| NOTE required because it appears within the type `[closure - //~| NOTE required because it appears within the type `impl std::ops::Fn<(i32,)>` - //~| NOTE required by `send` send(after()); //~^ ERROR the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::Send` is not satisfied - //~| NOTE `std::rc::Rc<std::cell::Cell<i32>>` cannot be sent between threads safely - //~| NOTE required because it appears within the type `[closure - //~| NOTE required because it appears within the type `impl std::ops::Fn<(i32,)>` - //~| NOTE required by `send` } // Deferred path, main has to wait until typeck finishes, @@ -52,17 +44,12 @@ fn after() -> impl Fn(i32) { fn cycle1() -> impl Clone { //~^ ERROR unsupported cyclic reference between types/traits detected //~| cyclic reference - //~| NOTE the cycle begins when processing `cycle1`... - //~| NOTE ...which then requires processing `cycle1::{{impl-Trait}}`... - //~| NOTE ...which then again requires processing `cycle1`, completing the cycle. send(cycle2().clone()); Rc::new(Cell::new(5)) } fn cycle2() -> impl Clone { - //~^ NOTE ...which then requires processing `cycle2::{{impl-Trait}}`... - //~| NOTE ...which then requires processing `cycle2`... send(cycle1().clone()); Rc::new(String::from("foo")) diff --git a/src/test/ui/impl-trait/auto-trait-leak.stderr b/src/test/ui/impl-trait/auto-trait-leak.stderr index 1c03e9d8526..ffd6a3fe4ff 100644 --- a/src/test/ui/impl-trait/auto-trait-leak.stderr +++ b/src/test/ui/impl-trait/auto-trait-leak.stderr @@ -10,41 +10,41 @@ error[E0277]: the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::S = note: required by `send` error[E0277]: the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::Send` is not satisfied in `impl std::ops::Fn<(i32,)>` - --> $DIR/auto-trait-leak.rs:34:5 + --> $DIR/auto-trait-leak.rs:30:5 | -34 | send(after()); +30 | send(after()); | ^^^^ `std::rc::Rc<std::cell::Cell<i32>>` cannot be sent between threads safely | = help: within `impl std::ops::Fn<(i32,)>`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::cell::Cell<i32>>` - = note: required because it appears within the type `[closure@$DIR/auto-trait-leak.rs:46:5: 46:22 p:std::rc::Rc<std::cell::Cell<i32>>]` + = note: required because it appears within the type `[closure@$DIR/auto-trait-leak.rs:38:5: 38:22 p:std::rc::Rc<std::cell::Cell<i32>>]` = note: required because it appears within the type `impl std::ops::Fn<(i32,)>` = note: required by `send` error[E0391]: unsupported cyclic reference between types/traits detected - --> $DIR/auto-trait-leak.rs:52:1 + --> $DIR/auto-trait-leak.rs:44:1 | -52 | fn cycle1() -> impl Clone { +44 | fn cycle1() -> impl Clone { | ^^^^^^^^^^^^^^^^^^^^^^^^^ cyclic reference | note: the cycle begins when processing `cycle1`... - --> $DIR/auto-trait-leak.rs:52:1 + --> $DIR/auto-trait-leak.rs:44:1 | -52 | fn cycle1() -> impl Clone { +44 | fn cycle1() -> impl Clone { | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: ...which then requires processing `cycle2::{{impl-Trait}}`... - --> $DIR/auto-trait-leak.rs:63:16 + --> $DIR/auto-trait-leak.rs:52:16 | -63 | fn cycle2() -> impl Clone { +52 | fn cycle2() -> impl Clone { | ^^^^^^^^^^ note: ...which then requires processing `cycle2`... - --> $DIR/auto-trait-leak.rs:63:1 + --> $DIR/auto-trait-leak.rs:52:1 | -63 | fn cycle2() -> impl Clone { +52 | fn cycle2() -> impl Clone { | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: ...which then requires processing `cycle1::{{impl-Trait}}`... - --> $DIR/auto-trait-leak.rs:52:16 + --> $DIR/auto-trait-leak.rs:44:16 | -52 | fn cycle1() -> impl Clone { +44 | fn cycle1() -> impl Clone { | ^^^^^^^^^^ = note: ...which then again requires processing `cycle1`, completing the cycle. diff --git a/src/test/ui/impl-trait/issue-21659-show-relevant-trait-impls-3.rs b/src/test/ui/impl-trait/issue-21659-show-relevant-trait-impls-3.rs index 9120cdab598..79d487493e8 100644 --- a/src/test/ui/impl-trait/issue-21659-show-relevant-trait-impls-3.rs +++ b/src/test/ui/impl-trait/issue-21659-show-relevant-trait-impls-3.rs @@ -29,5 +29,4 @@ fn main() { f1.foo(1usize); //~^ error: method named `foo` found for type `Bar` in the current scope - //~| help: items from traits can only be used if the trait is implemented and in scope } diff --git a/src/test/ui/impl-trait/method-suggestion-no-duplication.rs b/src/test/ui/impl-trait/method-suggestion-no-duplication.rs index 15ddadf4c51..28028922e32 100644 --- a/src/test/ui/impl-trait/method-suggestion-no-duplication.rs +++ b/src/test/ui/impl-trait/method-suggestion-no-duplication.rs @@ -18,5 +18,4 @@ fn foo<F>(f: F) where F: FnMut(Foo) {} fn main() { foo(|s| s.is_empty()); //~^ ERROR no method named `is_empty` found - //~| HELP items from traits can only be used if the trait is implemented and in scope } diff --git a/src/test/ui/impl-trait/no-method-suggested-traits.rs b/src/test/ui/impl-trait/no-method-suggested-traits.rs index d9866772bdd..07c0e6f529f 100644 --- a/src/test/ui/impl-trait/no-method-suggested-traits.rs +++ b/src/test/ui/impl-trait/no-method-suggested-traits.rs @@ -11,12 +11,7 @@ // aux-build:no_method_suggested_traits.rs extern crate no_method_suggested_traits; -struct Foo; //~ HELP perhaps add a `use` for it -//~^ HELP perhaps add a `use` for it -//~| HELP perhaps add a `use` for it -//~| HELP perhaps add a `use` for it -//~| HELP perhaps add a `use` for one of them -//~| HELP perhaps add a `use` for one of them +struct Foo; enum Bar { X } mod foo { @@ -44,57 +39,41 @@ fn main() { 'a'.method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is in scope std::rc::Rc::new(&mut Box::new(&'a')).method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is in scope 1i32.method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is in scope std::rc::Rc::new(&mut Box::new(&1i32)).method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is in scope Foo.method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&Foo)).method(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope 1u64.method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&1u64)).method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope no_method_suggested_traits::Foo.method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope no_method_suggested_traits::Bar::X.method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope Foo.method3(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&Foo)).method3(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope Bar::X.method3(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope std::rc::Rc::new(&mut Box::new(&Bar::X)).method3(); //~^ ERROR no method named - //~| HELP items from traits can only be used if the trait is implemented and in scope // should have no help: 1_usize.method3(); //~ ERROR no method named diff --git a/src/test/ui/impl-trait/no-method-suggested-traits.stderr b/src/test/ui/impl-trait/no-method-suggested-traits.stderr index 2d519c11b94..4517f09d07c 100644 --- a/src/test/ui/impl-trait/no-method-suggested-traits.stderr +++ b/src/test/ui/impl-trait/no-method-suggested-traits.stderr @@ -1,7 +1,7 @@ error[E0599]: no method named `method` found for type `u32` in the current scope - --> $DIR/no-method-suggested-traits.rs:38:10 + --> $DIR/no-method-suggested-traits.rs:33:10 | -38 | 1u32.method(); +33 | 1u32.method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -17,9 +17,9 @@ help: the following traits are implemented but not in scope, perhaps add a `use` | error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&u32>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:41:44 + --> $DIR/no-method-suggested-traits.rs:36:44 | -41 | std::rc::Rc::new(&mut Box::new(&1u32)).method(); +36 | std::rc::Rc::new(&mut Box::new(&1u32)).method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -35,9 +35,9 @@ help: the following traits are implemented but not in scope, perhaps add a `use` | error[E0599]: no method named `method` found for type `char` in the current scope - --> $DIR/no-method-suggested-traits.rs:45:9 + --> $DIR/no-method-suggested-traits.rs:40:9 | -45 | 'a'.method(); +40 | 'a'.method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -47,9 +47,9 @@ help: the following trait is implemented but not in scope, perhaps add a `use` f | error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&char>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:48:43 + --> $DIR/no-method-suggested-traits.rs:42:43 | -48 | std::rc::Rc::new(&mut Box::new(&'a')).method(); +42 | std::rc::Rc::new(&mut Box::new(&'a')).method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -59,9 +59,9 @@ help: the following trait is implemented but not in scope, perhaps add a `use` f | error[E0599]: no method named `method` found for type `i32` in the current scope - --> $DIR/no-method-suggested-traits.rs:52:10 + --> $DIR/no-method-suggested-traits.rs:45:10 | -52 | 1i32.method(); +45 | 1i32.method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -71,9 +71,9 @@ help: the following trait is implemented but not in scope, perhaps add a `use` f | error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&i32>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:55:44 + --> $DIR/no-method-suggested-traits.rs:47:44 | -55 | std::rc::Rc::new(&mut Box::new(&1i32)).method(); +47 | std::rc::Rc::new(&mut Box::new(&1i32)).method(); | ^^^^^^ | = help: items from traits can only be used if the trait is in scope @@ -83,12 +83,12 @@ help: the following trait is implemented but not in scope, perhaps add a `use` f | error[E0599]: no method named `method` found for type `Foo` in the current scope - --> $DIR/no-method-suggested-traits.rs:59:9 + --> $DIR/no-method-suggested-traits.rs:50:9 | -14 | struct Foo; //~ HELP perhaps add a `use` for it +14 | struct Foo; | ----------- method `method` not found for this ... -59 | Foo.method(); +50 | Foo.method(); | ^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -101,9 +101,9 @@ error[E0599]: no method named `method` found for type `Foo` in the current scope candidate #6: `no_method_suggested_traits::Reexported` error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:62:43 + --> $DIR/no-method-suggested-traits.rs:52:43 | -62 | std::rc::Rc::new(&mut Box::new(&Foo)).method(); +52 | std::rc::Rc::new(&mut Box::new(&Foo)).method(); | ^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -116,9 +116,9 @@ error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::box candidate #6: `no_method_suggested_traits::Reexported` error[E0599]: no method named `method2` found for type `u64` in the current scope - --> $DIR/no-method-suggested-traits.rs:66:10 + --> $DIR/no-method-suggested-traits.rs:55:10 | -66 | 1u64.method2(); +55 | 1u64.method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -126,9 +126,9 @@ error[E0599]: no method named `method2` found for type `u64` in the current scop candidate #1: `foo::Bar` error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&u64>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:69:44 + --> $DIR/no-method-suggested-traits.rs:57:44 | -69 | std::rc::Rc::new(&mut Box::new(&1u64)).method2(); +57 | std::rc::Rc::new(&mut Box::new(&1u64)).method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -136,9 +136,9 @@ error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::bo candidate #1: `foo::Bar` error[E0599]: no method named `method2` found for type `no_method_suggested_traits::Foo` in the current scope - --> $DIR/no-method-suggested-traits.rs:73:37 + --> $DIR/no-method-suggested-traits.rs:60:37 | -73 | no_method_suggested_traits::Foo.method2(); +60 | no_method_suggested_traits::Foo.method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -146,9 +146,9 @@ error[E0599]: no method named `method2` found for type `no_method_suggested_trai candidate #1: `foo::Bar` error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:76:71 + --> $DIR/no-method-suggested-traits.rs:62:71 | -76 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2(); +62 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -156,9 +156,9 @@ error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::bo candidate #1: `foo::Bar` error[E0599]: no method named `method2` found for type `no_method_suggested_traits::Bar` in the current scope - --> $DIR/no-method-suggested-traits.rs:79:40 + --> $DIR/no-method-suggested-traits.rs:64:40 | -79 | no_method_suggested_traits::Bar::X.method2(); +64 | no_method_suggested_traits::Bar::X.method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -166,9 +166,9 @@ error[E0599]: no method named `method2` found for type `no_method_suggested_trai candidate #1: `foo::Bar` error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:82:74 + --> $DIR/no-method-suggested-traits.rs:66:74 | -82 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2(); +66 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -176,12 +176,12 @@ error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::bo candidate #1: `foo::Bar` error[E0599]: no method named `method3` found for type `Foo` in the current scope - --> $DIR/no-method-suggested-traits.rs:86:9 + --> $DIR/no-method-suggested-traits.rs:69:9 | -14 | struct Foo; //~ HELP perhaps add a `use` for it +14 | struct Foo; | ----------- method `method3` not found for this ... -86 | Foo.method3(); +69 | Foo.method3(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -189,9 +189,9 @@ error[E0599]: no method named `method3` found for type `Foo` in the current scop candidate #1: `no_method_suggested_traits::foo::PubPub` error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:89:43 + --> $DIR/no-method-suggested-traits.rs:71:43 | -89 | std::rc::Rc::new(&mut Box::new(&Foo)).method3(); +71 | std::rc::Rc::new(&mut Box::new(&Foo)).method3(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -199,12 +199,12 @@ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::bo candidate #1: `no_method_suggested_traits::foo::PubPub` error[E0599]: no method named `method3` found for type `Bar` in the current scope - --> $DIR/no-method-suggested-traits.rs:92:12 + --> $DIR/no-method-suggested-traits.rs:73:12 | -20 | enum Bar { X } +15 | enum Bar { X } | -------- method `method3` not found for this ... -92 | Bar::X.method3(); +73 | Bar::X.method3(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -212,9 +212,9 @@ error[E0599]: no method named `method3` found for type `Bar` in the current scop candidate #1: `no_method_suggested_traits::foo::PubPub` error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Bar>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:95:46 + --> $DIR/no-method-suggested-traits.rs:75:46 | -95 | std::rc::Rc::new(&mut Box::new(&Bar::X)).method3(); +75 | std::rc::Rc::new(&mut Box::new(&Bar::X)).method3(); | ^^^^^^^ | = help: items from traits can only be used if the trait is implemented and in scope @@ -222,40 +222,40 @@ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::bo candidate #1: `no_method_suggested_traits::foo::PubPub` error[E0599]: no method named `method3` found for type `usize` in the current scope - --> $DIR/no-method-suggested-traits.rs:100:13 - | -100 | 1_usize.method3(); //~ ERROR no method named - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:79:13 + | +79 | 1_usize.method3(); //~ ERROR no method named + | ^^^^^^^ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&usize>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:101:47 - | -101 | std::rc::Rc::new(&mut Box::new(&1_usize)).method3(); //~ ERROR no method named - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:80:47 + | +80 | std::rc::Rc::new(&mut Box::new(&1_usize)).method3(); //~ ERROR no method named + | ^^^^^^^ error[E0599]: no method named `method3` found for type `no_method_suggested_traits::Foo` in the current scope - --> $DIR/no-method-suggested-traits.rs:102:37 - | -102 | no_method_suggested_traits::Foo.method3(); //~ ERROR no method named - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:81:37 + | +81 | no_method_suggested_traits::Foo.method3(); //~ ERROR no method named + | ^^^^^^^ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:103:71 - | -103 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3(); - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:82:71 + | +82 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3(); + | ^^^^^^^ error[E0599]: no method named `method3` found for type `no_method_suggested_traits::Bar` in the current scope - --> $DIR/no-method-suggested-traits.rs:105:40 - | -105 | no_method_suggested_traits::Bar::X.method3(); //~ ERROR no method named - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:84:40 + | +84 | no_method_suggested_traits::Bar::X.method3(); //~ ERROR no method named + | ^^^^^^^ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope - --> $DIR/no-method-suggested-traits.rs:106:74 - | -106 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3(); - | ^^^^^^^ + --> $DIR/no-method-suggested-traits.rs:85:74 + | +85 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3(); + | ^^^^^^^ error: aborting due to 24 previous errors diff --git a/src/test/ui/impl-unused-rps-in-assoc-type.rs b/src/test/ui/impl-unused-rps-in-assoc-type.rs index d48433ee928..23401db21d8 100644 --- a/src/test/ui/impl-unused-rps-in-assoc-type.rs +++ b/src/test/ui/impl-unused-rps-in-assoc-type.rs @@ -19,7 +19,6 @@ trait Fun { struct Holder { x: String } impl<'a> Fun for Holder { //~ ERROR E0207 - //~| NOTE unconstrained lifetime parameter type Output = &'a str; fn call<'b>(&'b self) -> &'b str { &self.x[..] diff --git a/src/test/ui/imports/duplicate.rs b/src/test/ui/imports/duplicate.rs index 4b2a64155e5..dd2dcbe2e68 100644 --- a/src/test/ui/imports/duplicate.rs +++ b/src/test/ui/imports/duplicate.rs @@ -21,10 +21,8 @@ mod c { } mod d { - use a::foo; //~ NOTE previous import of the value `foo` here + use a::foo; use a::foo; //~ ERROR the name `foo` is defined multiple times - //~| NOTE `foo` reimported here - //~| NOTE `foo` must be defined only once in the value namespace of this module } mod e { @@ -33,37 +31,31 @@ mod e { } mod f { - pub use a::*; //~ NOTE `foo` could refer to the name imported here - pub use b::*; //~ NOTE `foo` could also refer to the name imported here + pub use a::*; + pub use b::*; } mod g { - pub use a::*; //~ NOTE `foo` could refer to the name imported here - pub use f::*; //~ NOTE `foo` could also refer to the name imported here + pub use a::*; + pub use f::*; } fn main() { e::foo(); f::foo(); //~ ERROR `foo` is ambiguous - //~| NOTE consider adding an explicit import of `foo` to disambiguate g::foo(); //~ ERROR `foo` is ambiguous - //~| NOTE consider adding an explicit import of `foo` to disambiguate } mod ambiguous_module_errors { pub mod m1 { pub use super::m1 as foo; } pub mod m2 { pub use super::m2 as foo; } - use self::m1::*; //~ NOTE - //~| NOTE - use self::m2::*; //~ NOTE - //~| NOTE + use self::m1::*; + use self::m2::*; use self::foo::bar; //~ ERROR `foo` is ambiguous - //~| NOTE fn f() { foo::bar(); //~ ERROR `foo` is ambiguous - //~| NOTE } } diff --git a/src/test/ui/imports/duplicate.stderr b/src/test/ui/imports/duplicate.stderr index a990a816fe9..30f2f517115 100644 --- a/src/test/ui/imports/duplicate.stderr +++ b/src/test/ui/imports/duplicate.stderr @@ -1,7 +1,7 @@ error[E0252]: the name `foo` is defined multiple times --> $DIR/duplicate.rs:25:9 | -24 | use a::foo; //~ NOTE previous import of the value `foo` here +24 | use a::foo; | ------ previous import of the value `foo` here 25 | use a::foo; //~ ERROR the name `foo` is defined multiple times | ^^^^^^ `foo` reimported here @@ -13,74 +13,74 @@ help: You can use `as` to change the binding name of the import | ^^^^^^^^^^^^^^^^^^ error: `foo` is ambiguous - --> $DIR/duplicate.rs:62:9 + --> $DIR/duplicate.rs:56:9 | -62 | use self::foo::bar; //~ ERROR `foo` is ambiguous +56 | use self::foo::bar; //~ ERROR `foo` is ambiguous | ^^^^^^^^^^^^^^ | note: `foo` could refer to the name imported here - --> $DIR/duplicate.rs:57:9 + --> $DIR/duplicate.rs:53:9 | -57 | use self::m1::*; //~ NOTE +53 | use self::m1::*; | ^^^^^^^^^^^ note: `foo` could also refer to the name imported here - --> $DIR/duplicate.rs:59:9 + --> $DIR/duplicate.rs:54:9 | -59 | use self::m2::*; //~ NOTE +54 | use self::m2::*; | ^^^^^^^^^^^ = note: consider adding an explicit import of `foo` to disambiguate error: `foo` is ambiguous - --> $DIR/duplicate.rs:47:5 + --> $DIR/duplicate.rs:45:5 | -47 | f::foo(); //~ ERROR `foo` is ambiguous +45 | f::foo(); //~ ERROR `foo` is ambiguous | ^^^^^^ | note: `foo` could refer to the name imported here - --> $DIR/duplicate.rs:36:13 + --> $DIR/duplicate.rs:34:13 | -36 | pub use a::*; //~ NOTE `foo` could refer to the name imported here +34 | pub use a::*; | ^^^^ note: `foo` could also refer to the name imported here - --> $DIR/duplicate.rs:37:13 + --> $DIR/duplicate.rs:35:13 | -37 | pub use b::*; //~ NOTE `foo` could also refer to the name imported here +35 | pub use b::*; | ^^^^ = note: consider adding an explicit import of `foo` to disambiguate error: `foo` is ambiguous - --> $DIR/duplicate.rs:49:5 + --> $DIR/duplicate.rs:46:5 | -49 | g::foo(); //~ ERROR `foo` is ambiguous +46 | g::foo(); //~ ERROR `foo` is ambiguous | ^^^^^^ | note: `foo` could refer to the name imported here - --> $DIR/duplicate.rs:41:13 + --> $DIR/duplicate.rs:39:13 | -41 | pub use a::*; //~ NOTE `foo` could refer to the name imported here +39 | pub use a::*; | ^^^^ note: `foo` could also refer to the name imported here - --> $DIR/duplicate.rs:42:13 + --> $DIR/duplicate.rs:40:13 | -42 | pub use f::*; //~ NOTE `foo` could also refer to the name imported here +40 | pub use f::*; | ^^^^ = note: consider adding an explicit import of `foo` to disambiguate error: `foo` is ambiguous - --> $DIR/duplicate.rs:66:9 + --> $DIR/duplicate.rs:59:9 | -66 | foo::bar(); //~ ERROR `foo` is ambiguous +59 | foo::bar(); //~ ERROR `foo` is ambiguous | ^^^^^^^^ | note: `foo` could refer to the name imported here - --> $DIR/duplicate.rs:57:9 + --> $DIR/duplicate.rs:53:9 | -57 | use self::m1::*; //~ NOTE +53 | use self::m1::*; | ^^^^^^^^^^^ note: `foo` could also refer to the name imported here - --> $DIR/duplicate.rs:59:9 + --> $DIR/duplicate.rs:54:9 | -59 | use self::m2::*; //~ NOTE +54 | use self::m2::*; | ^^^^^^^^^^^ = note: consider adding an explicit import of `foo` to disambiguate diff --git a/src/test/ui/imports/macro-paths.rs b/src/test/ui/imports/macro-paths.rs index 7c19917acc4..88a6e1c0d92 100644 --- a/src/test/ui/imports/macro-paths.rs +++ b/src/test/ui/imports/macro-paths.rs @@ -21,20 +21,18 @@ mod foo { } fn f() { - use foo::*; //~ NOTE could also refer to the name imported here + use foo::*; bar::m! { //~ ERROR ambiguous - //~| NOTE macro-expanded items do not shadow when used in a macro invocation path - mod bar { pub use two_macros::m; } //~ NOTE could refer to the name defined here + mod bar { pub use two_macros::m; } } } -pub mod baz { //~ NOTE could also refer to the name defined here +pub mod baz { pub use two_macros::m; } fn g() { baz::m! { //~ ERROR ambiguous - //~| NOTE macro-expanded items do not shadow when used in a macro invocation path - mod baz { pub use two_macros::m; } //~ NOTE could refer to the name defined here + mod baz { pub use two_macros::m; } } } diff --git a/src/test/ui/imports/macro-paths.stderr b/src/test/ui/imports/macro-paths.stderr index cd8ab3de4f9..91b0b9756da 100644 --- a/src/test/ui/imports/macro-paths.stderr +++ b/src/test/ui/imports/macro-paths.stderr @@ -5,34 +5,34 @@ error: `bar` is ambiguous | ^^^^^^ | note: `bar` could refer to the name defined here - --> $DIR/macro-paths.rs:27:9 + --> $DIR/macro-paths.rs:26:9 | -27 | mod bar { pub use two_macros::m; } //~ NOTE could refer to the name defined here +26 | mod bar { pub use two_macros::m; } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: `bar` could also refer to the name imported here --> $DIR/macro-paths.rs:24:9 | -24 | use foo::*; //~ NOTE could also refer to the name imported here +24 | use foo::*; | ^^^^^^ = note: macro-expanded items do not shadow when used in a macro invocation path error: `baz` is ambiguous - --> $DIR/macro-paths.rs:36:5 + --> $DIR/macro-paths.rs:35:5 | -36 | baz::m! { //~ ERROR ambiguous +35 | baz::m! { //~ ERROR ambiguous | ^^^^^^ | note: `baz` could refer to the name defined here - --> $DIR/macro-paths.rs:38:9 + --> $DIR/macro-paths.rs:36:9 | -38 | mod baz { pub use two_macros::m; } //~ NOTE could refer to the name defined here +36 | mod baz { pub use two_macros::m; } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: `baz` could also refer to the name defined here - --> $DIR/macro-paths.rs:31:1 + --> $DIR/macro-paths.rs:30:1 | -31 | / pub mod baz { //~ NOTE could also refer to the name defined here -32 | | pub use two_macros::m; -33 | | } +30 | / pub mod baz { +31 | | pub use two_macros::m; +32 | | } | |_^ = note: macro-expanded items do not shadow when used in a macro invocation path diff --git a/src/test/ui/imports/macros.rs b/src/test/ui/imports/macros.rs index 06b0964a3b1..98577d73ee0 100644 --- a/src/test/ui/imports/macros.rs +++ b/src/test/ui/imports/macros.rs @@ -24,15 +24,14 @@ mod m1 { } mod m2 { - use two_macros::*; //~ NOTE could also refer + use two_macros::*; m! { //~ ERROR ambiguous - //~| NOTE macro-expanded macro imports do not shadow - use foo::m; //~ NOTE could refer to the name imported here + use foo::m; } } mod m3 { - use two_macros::m; //~ NOTE could also refer + use two_macros::m; fn f() { use two_macros::n as m; // This shadows the above import m!(); @@ -40,14 +39,13 @@ mod m3 { fn g() { m! { //~ ERROR ambiguous - //~| NOTE macro-expanded macro imports do not shadow - use two_macros::n as m; //~ NOTE could refer to the name imported here + use two_macros::n as m; } } } mod m4 { - macro_rules! m { () => {} } //~ NOTE could refer to the macro defined here - use two_macros::m; //~ NOTE could also refer to the macro imported here + macro_rules! m { () => {} } + use two_macros::m; m!(); //~ ERROR ambiguous } diff --git a/src/test/ui/imports/macros.stderr b/src/test/ui/imports/macros.stderr index 857335f783a..0b67613eb14 100644 --- a/src/test/ui/imports/macros.stderr +++ b/src/test/ui/imports/macros.stderr @@ -1,18 +1,18 @@ error: `m` is ambiguous - --> $DIR/macros.rs:52:5 + --> $DIR/macros.rs:50:5 | -52 | m!(); //~ ERROR ambiguous +50 | m!(); //~ ERROR ambiguous | ^ | note: `m` could refer to the macro defined here - --> $DIR/macros.rs:50:5 + --> $DIR/macros.rs:48:5 | -50 | macro_rules! m { () => {} } //~ NOTE could refer to the macro defined here +48 | macro_rules! m { () => {} } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: `m` could also refer to the macro imported here - --> $DIR/macros.rs:51:9 + --> $DIR/macros.rs:49:9 | -51 | use two_macros::m; //~ NOTE could also refer to the macro imported here +49 | use two_macros::m; | ^^^^^^^^^^^^^ error: `m` is ambiguous @@ -22,32 +22,32 @@ error: `m` is ambiguous | ^ | note: `m` could refer to the name imported here - --> $DIR/macros.rs:30:13 + --> $DIR/macros.rs:29:13 | -30 | use foo::m; //~ NOTE could refer to the name imported here +29 | use foo::m; | ^^^^^^ note: `m` could also refer to the name imported here --> $DIR/macros.rs:27:9 | -27 | use two_macros::*; //~ NOTE could also refer +27 | use two_macros::*; | ^^^^^^^^^^^^^ = note: macro-expanded macro imports do not shadow error: `m` is ambiguous - --> $DIR/macros.rs:42:9 + --> $DIR/macros.rs:41:9 | -42 | m! { //~ ERROR ambiguous +41 | m! { //~ ERROR ambiguous | ^ | note: `m` could refer to the name imported here - --> $DIR/macros.rs:44:17 + --> $DIR/macros.rs:42:17 | -44 | use two_macros::n as m; //~ NOTE could refer to the name imported here +42 | use two_macros::n as m; | ^^^^^^^^^^^^^^^^^^ note: `m` could also refer to the name imported here - --> $DIR/macros.rs:35:9 + --> $DIR/macros.rs:34:9 | -35 | use two_macros::m; //~ NOTE could also refer +34 | use two_macros::m; | ^^^^^^^^^^^^^ = note: macro-expanded macro imports do not shadow diff --git a/src/test/ui/imports/rfc-1560-warning-cycle.rs b/src/test/ui/imports/rfc-1560-warning-cycle.rs index 95bdf5e9b15..f94fc3633e3 100644 --- a/src/test/ui/imports/rfc-1560-warning-cycle.rs +++ b/src/test/ui/imports/rfc-1560-warning-cycle.rs @@ -16,13 +16,11 @@ mod bar { struct Foo; mod baz { - use *; //~ NOTE `Foo` could refer to the name imported here - use bar::*; //~ NOTE `Foo` could also refer to the name imported here + use *; + use bar::*; fn f(_: Foo) {} //~^ ERROR `Foo` is ambiguous //~| WARN hard error in a future release - //~| NOTE see issue #38260 - //~| NOTE #[deny(legacy_imports)] on by default } } diff --git a/src/test/ui/imports/rfc-1560-warning-cycle.stderr b/src/test/ui/imports/rfc-1560-warning-cycle.stderr index c5e6f23fdae..1fec7311272 100644 --- a/src/test/ui/imports/rfc-1560-warning-cycle.stderr +++ b/src/test/ui/imports/rfc-1560-warning-cycle.stderr @@ -1,9 +1,9 @@ error: `Foo` is ambiguous --> $DIR/rfc-1560-warning-cycle.rs:21:17 | -19 | use *; //~ NOTE `Foo` could refer to the name imported here +19 | use *; | - `Foo` could refer to the name imported here -20 | use bar::*; //~ NOTE `Foo` could also refer to the name imported here +20 | use bar::*; | ------ `Foo` could also refer to the name imported here 21 | fn f(_: Foo) {} | ^^^ diff --git a/src/test/ui/imports/shadow_builtin_macros.rs b/src/test/ui/imports/shadow_builtin_macros.rs index a7f1cf3c9d3..93de136c405 100644 --- a/src/test/ui/imports/shadow_builtin_macros.rs +++ b/src/test/ui/imports/shadow_builtin_macros.rs @@ -23,17 +23,13 @@ mod m1 { } mod m2 { - use foo::*; //~ NOTE `panic` could refer to the name imported here + use foo::*; fn f() { panic!(); } //~ ERROR ambiguous - //~| NOTE `panic` is also a builtin macro - //~| NOTE consider adding an explicit import of `panic` to disambiguate } mod m3 { - ::two_macros::m!(use foo::panic;); //~ NOTE `panic` could refer to the name imported here + ::two_macros::m!(use foo::panic;); fn f() { panic!(); } //~ ERROR ambiguous - //~| NOTE `panic` is also a builtin macro - //~| NOTE macro-expanded macro imports do not shadow } mod m4 { @@ -44,14 +40,12 @@ mod m4 { mod m5 { macro_rules! m { () => { macro_rules! panic { () => {} } //~ ERROR `panic` is already in scope - //~| NOTE macro-expanded `macro_rules!`s may not shadow existing macros } } - m!(); //~ NOTE in this expansion - //~| NOTE in this expansion + m!(); panic!(); } -#[macro_use(n)] //~ NOTE `n` could also refer to the name imported here +#[macro_use(n)] extern crate two_macros; mod bar { pub use two_macros::m as n; @@ -63,9 +57,8 @@ mod m6 { } mod m7 { - use bar::*; //~ NOTE `n` could refer to the name imported here + use bar::*; n!(); //~ ERROR ambiguous - //~| NOTE consider adding an explicit import of `n` to disambiguate } fn main() {} diff --git a/src/test/ui/imports/shadow_builtin_macros.stderr b/src/test/ui/imports/shadow_builtin_macros.stderr index 53a0cdd82b2..853ed98c30d 100644 --- a/src/test/ui/imports/shadow_builtin_macros.stderr +++ b/src/test/ui/imports/shadow_builtin_macros.stderr @@ -1,10 +1,10 @@ error: `panic` is already in scope - --> $DIR/shadow_builtin_macros.rs:46:9 + --> $DIR/shadow_builtin_macros.rs:42:9 | -46 | macro_rules! panic { () => {} } //~ ERROR `panic` is already in scope +42 | macro_rules! panic { () => {} } //~ ERROR `panic` is already in scope | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -... -49 | m!(); //~ NOTE in this expansion +43 | } } +44 | m!(); | ----- in this macro invocation | = note: macro-expanded `macro_rules!`s may not shadow existing macros (see RFC 1560) @@ -18,40 +18,40 @@ error: `panic` is ambiguous note: `panic` could refer to the name imported here --> $DIR/shadow_builtin_macros.rs:26:9 | -26 | use foo::*; //~ NOTE `panic` could refer to the name imported here +26 | use foo::*; | ^^^^^^ = note: `panic` is also a builtin macro = note: consider adding an explicit import of `panic` to disambiguate error: `panic` is ambiguous - --> $DIR/shadow_builtin_macros.rs:34:14 + --> $DIR/shadow_builtin_macros.rs:32:14 | -34 | fn f() { panic!(); } //~ ERROR ambiguous +32 | fn f() { panic!(); } //~ ERROR ambiguous | ^^^^^ | note: `panic` could refer to the name imported here - --> $DIR/shadow_builtin_macros.rs:33:26 + --> $DIR/shadow_builtin_macros.rs:31:26 | -33 | ::two_macros::m!(use foo::panic;); //~ NOTE `panic` could refer to the name imported here +31 | ::two_macros::m!(use foo::panic;); | ^^^^^^^^^^ = note: `panic` is also a builtin macro = note: macro-expanded macro imports do not shadow error: `n` is ambiguous - --> $DIR/shadow_builtin_macros.rs:67:5 + --> $DIR/shadow_builtin_macros.rs:61:5 | -67 | n!(); //~ ERROR ambiguous +61 | n!(); //~ ERROR ambiguous | ^ | note: `n` could refer to the name imported here - --> $DIR/shadow_builtin_macros.rs:66:9 + --> $DIR/shadow_builtin_macros.rs:60:9 | -66 | use bar::*; //~ NOTE `n` could refer to the name imported here +60 | use bar::*; | ^^^^^^ note: `n` could also refer to the name imported here - --> $DIR/shadow_builtin_macros.rs:54:13 + --> $DIR/shadow_builtin_macros.rs:48:13 | -54 | #[macro_use(n)] //~ NOTE `n` could also refer to the name imported here +48 | #[macro_use(n)] | ^ = note: consider adding an explicit import of `n` to disambiguate diff --git a/src/test/ui/impossible_range.rs b/src/test/ui/impossible_range.rs index e4465e9f6b6..330a9213bc7 100644 --- a/src/test/ui/impossible_range.rs +++ b/src/test/ui/impossible_range.rs @@ -19,9 +19,7 @@ pub fn main() { 0..1; ..=; //~ERROR inclusive range with no end - //~^HELP bounded at the end 0..=; //~ERROR inclusive range with no end - //~^HELP bounded at the end ..=1; 0..=1; } diff --git a/src/test/ui/impossible_range.stderr b/src/test/ui/impossible_range.stderr index 8ea5942314d..75c6d859621 100644 --- a/src/test/ui/impossible_range.stderr +++ b/src/test/ui/impossible_range.stderr @@ -7,9 +7,9 @@ error[E0586]: inclusive range with no end = help: inclusive ranges must be bounded at the end (`..=b` or `a..=b`) error[E0586]: inclusive range with no end - --> $DIR/impossible_range.rs:23:9 + --> $DIR/impossible_range.rs:22:9 | -23 | 0..=; //~ERROR inclusive range with no end +22 | 0..=; //~ERROR inclusive range with no end | ^ | = help: inclusive ranges must be bounded at the end (`..=b` or `a..=b`) diff --git a/src/test/ui/index-help.rs b/src/test/ui/index-help.rs index 2d37fc79250..4a64d6c4cc5 100644 --- a/src/test/ui/index-help.rs +++ b/src/test/ui/index-help.rs @@ -11,5 +11,4 @@ fn main() { let x = vec![1]; x[0i32]; //~ ERROR E0277 - //~| NOTE vector indices are of type `usize` or ranges of `usize` } diff --git a/src/test/ui/issue-10969.rs b/src/test/ui/issue-10969.rs index 0851020b1f1..4ab4a8b579a 100644 --- a/src/test/ui/issue-10969.rs +++ b/src/test/ui/issue-10969.rs @@ -8,10 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -fn func(i: i32) { //~NOTE defined here +fn func(i: i32) { i(); //~ERROR expected function, found `i32` } fn main() { - let i = 0i32; //~NOTE defined here + let i = 0i32; i(); //~ERROR expected function, found `i32` } diff --git a/src/test/ui/issue-10969.stderr b/src/test/ui/issue-10969.stderr index f537c51026e..8aea63e0bbd 100644 --- a/src/test/ui/issue-10969.stderr +++ b/src/test/ui/issue-10969.stderr @@ -7,7 +7,7 @@ error[E0618]: expected function, found `i32` note: defined here --> $DIR/issue-10969.rs:11:9 | -11 | fn func(i: i32) { //~NOTE defined here +11 | fn func(i: i32) { | ^ error[E0618]: expected function, found `i32` @@ -19,7 +19,7 @@ error[E0618]: expected function, found `i32` note: defined here --> $DIR/issue-10969.rs:15:9 | -15 | let i = 0i32; //~NOTE defined here +15 | let i = 0i32; | ^ error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-11004.rs b/src/test/ui/issue-11004.rs index 06988342422..503fa647512 100644 --- a/src/test/ui/issue-11004.rs +++ b/src/test/ui/issue-11004.rs @@ -15,9 +15,7 @@ struct A { x: i32, y: f64 } #[cfg(not(works))] unsafe fn access(n:*mut A) -> (i32, f64) { let x : i32 = n.x; //~ no field `x` on type `*mut A` - //~| NOTE `n` is a native pointer; perhaps you need to deref with `(*n).x` let y : f64 = n.y; //~ no field `y` on type `*mut A` - //~| NOTE `n` is a native pointer; perhaps you need to deref with `(*n).y` (x, y) } diff --git a/src/test/ui/issue-11004.stderr b/src/test/ui/issue-11004.stderr index 3dfa14bc415..9b8c3df7d59 100644 --- a/src/test/ui/issue-11004.stderr +++ b/src/test/ui/issue-11004.stderr @@ -7,9 +7,9 @@ error[E0609]: no field `x` on type `*mut A` = note: `n` is a native pointer; perhaps you need to deref with `(*n).x` error[E0609]: no field `y` on type `*mut A` - --> $DIR/issue-11004.rs:19:21 + --> $DIR/issue-11004.rs:18:21 | -19 | let y : f64 = n.y; //~ no field `y` on type `*mut A` +18 | let y : f64 = n.y; //~ no field `y` on type `*mut A` | ^ | = note: `n` is a native pointer; perhaps you need to deref with `(*n).y` diff --git a/src/test/ui/issue-11319.rs b/src/test/ui/issue-11319.rs index 8242fa1c2e9..20636ed1ea9 100644 --- a/src/test/ui/issue-11319.rs +++ b/src/test/ui/issue-11319.rs @@ -16,7 +16,7 @@ fn main() { //~| expected bool, found () Some(5) => false, Some(2) => true, - None => (), //~ NOTE match arm with an incompatible type + None => (), _ => true } } diff --git a/src/test/ui/issue-11319.stderr b/src/test/ui/issue-11319.stderr index bcb7dd8b8f5..b5db112797f 100644 --- a/src/test/ui/issue-11319.stderr +++ b/src/test/ui/issue-11319.stderr @@ -15,7 +15,7 @@ error[E0308]: match arms have incompatible types note: match arm with an incompatible type --> $DIR/issue-11319.rs:19:20 | -19 | None => (), //~ NOTE match arm with an incompatible type +19 | None => (), | ^^ error: aborting due to previous error diff --git a/src/test/ui/issue-12187-1.rs b/src/test/ui/issue-12187-1.rs index a79021d3cd5..c429b73bc95 100644 --- a/src/test/ui/issue-12187-1.rs +++ b/src/test/ui/issue-12187-1.rs @@ -15,6 +15,4 @@ fn new<T>() -> &'static T { fn main() { let &v = new(); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `_` - //~| NOTE consider giving the pattern a type } diff --git a/src/test/ui/issue-12187-2.rs b/src/test/ui/issue-12187-2.rs index 38b3c5d4e9a..733f597e7ac 100644 --- a/src/test/ui/issue-12187-2.rs +++ b/src/test/ui/issue-12187-2.rs @@ -15,6 +15,4 @@ fn new<'r, T>() -> &'r T { fn main() { let &v = new(); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `_` - //~| NOTE consider giving the pattern a type } diff --git a/src/test/ui/issue-12511.rs b/src/test/ui/issue-12511.rs index 0c3073a7701..e1335c7d558 100644 --- a/src/test/ui/issue-12511.rs +++ b/src/test/ui/issue-12511.rs @@ -9,14 +9,11 @@ // except according to those terms. trait t1 : t2 { -//~^ NOTE the cycle begins when computing the supertraits of `t1`... -//~| NOTE ...which then requires computing the supertraits of `t2`... } trait t2 : t1 { //~^ ERROR unsupported cyclic reference between types/traits detected //~| cyclic reference -//~| NOTE ...which then again requires computing the supertraits of `t1`, completing the cycle } fn main() { } diff --git a/src/test/ui/issue-12511.stderr b/src/test/ui/issue-12511.stderr index 3f039d9496d..cbf005a70b0 100644 --- a/src/test/ui/issue-12511.stderr +++ b/src/test/ui/issue-12511.stderr @@ -1,7 +1,7 @@ error[E0391]: unsupported cyclic reference between types/traits detected - --> $DIR/issue-12511.rs:16:1 + --> $DIR/issue-12511.rs:14:1 | -16 | trait t2 : t1 { +14 | trait t2 : t1 { | ^^^^^^^^^^^^^ cyclic reference | note: the cycle begins when computing the supertraits of `t1`... diff --git a/src/test/ui/issue-13058.rs b/src/test/ui/issue-13058.rs index 27b23f08321..dbcf9998ad9 100644 --- a/src/test/ui/issue-13058.rs +++ b/src/test/ui/issue-13058.rs @@ -35,5 +35,4 @@ fn check<'r, I: Iterator<Item=usize>, T: Itble<'r, usize, I>>(cont: &T) -> bool fn main() { check((3, 5)); //~^ ERROR mismatched types -//~| HELP consider borrowing here } diff --git a/src/test/ui/issue-14092.rs b/src/test/ui/issue-14092.rs index 85dd88e614f..449de26769f 100644 --- a/src/test/ui/issue-14092.rs +++ b/src/test/ui/issue-14092.rs @@ -10,6 +10,5 @@ fn fn1(0: Box) {} //~^ ERROR wrong number of type arguments: expected 1, found 0 [E0243] - //~| NOTE expected 1 type argument fn main() {} diff --git a/src/test/ui/issue-15260.rs b/src/test/ui/issue-15260.rs index 5f816d34c84..6356ea81660 100644 --- a/src/test/ui/issue-15260.rs +++ b/src/test/ui/issue-15260.rs @@ -14,28 +14,22 @@ struct Foo { fn main() { let Foo { - a: _, //~ NOTE first use of `a` + a: _, a: _ //~^ ERROR field `a` bound multiple times in the pattern - //~| NOTE multiple uses of `a` in pattern } = Foo { a: 29 }; let Foo { - a, //~ NOTE first use of `a` + a, a: _ //~^ ERROR field `a` bound multiple times in the pattern - //~| NOTE multiple uses of `a` in pattern } = Foo { a: 29 }; let Foo { a, - //~^ NOTE first use of `a` - //~| NOTE first use of `a` a: _, //~^ ERROR field `a` bound multiple times in the pattern - //~| NOTE multiple uses of `a` in pattern a: x //~^ ERROR field `a` bound multiple times in the pattern - //~| NOTE multiple uses of `a` in pattern } = Foo { a: 29 }; } diff --git a/src/test/ui/issue-15260.stderr b/src/test/ui/issue-15260.stderr index f33662a7ee9..aca2fa5ed04 100644 --- a/src/test/ui/issue-15260.stderr +++ b/src/test/ui/issue-15260.stderr @@ -1,35 +1,34 @@ error[E0025]: field `a` bound multiple times in the pattern --> $DIR/issue-15260.rs:18:9 | -17 | a: _, //~ NOTE first use of `a` +17 | a: _, | ---- first use of `a` 18 | a: _ | ^^^^ multiple uses of `a` in pattern error[E0025]: field `a` bound multiple times in the pattern - --> $DIR/issue-15260.rs:25:9 + --> $DIR/issue-15260.rs:24:9 | -24 | a, //~ NOTE first use of `a` +23 | a, | - first use of `a` -25 | a: _ +24 | a: _ | ^^^^ multiple uses of `a` in pattern error[E0025]: field `a` bound multiple times in the pattern - --> $DIR/issue-15260.rs:34:9 + --> $DIR/issue-15260.rs:30:9 | -31 | a, +29 | a, | - first use of `a` -... -34 | a: _, +30 | a: _, | ^^^^ multiple uses of `a` in pattern error[E0025]: field `a` bound multiple times in the pattern - --> $DIR/issue-15260.rs:37:9 + --> $DIR/issue-15260.rs:32:9 | -31 | a, +29 | a, | - first use of `a` ... -37 | a: x +32 | a: x | ^^^^ multiple uses of `a` in pattern error: aborting due to 4 previous errors diff --git a/src/test/ui/issue-15524.rs b/src/test/ui/issue-15524.rs index 658a0c1546b..85214bd8633 100644 --- a/src/test/ui/issue-15524.rs +++ b/src/test/ui/issue-15524.rs @@ -12,20 +12,14 @@ const N: isize = 1; enum Foo { A = 1, - //~^ NOTE first use of `1isize` - //~| NOTE first use of `1isize` - //~| NOTE first use of `1isize` B = 1, //~^ ERROR discriminant value `1isize` already exists - //~| NOTE enum already has `1isize` C = 0, D, //~^ ERROR discriminant value `1isize` already exists - //~| NOTE enum already has `1isize` E = N, //~^ ERROR discriminant value `1isize` already exists - //~| NOTE enum already has `1isize` } diff --git a/src/test/ui/issue-15524.stderr b/src/test/ui/issue-15524.stderr index 9a26b4d4af4..9c77752be20 100644 --- a/src/test/ui/issue-15524.stderr +++ b/src/test/ui/issue-15524.stderr @@ -1,28 +1,27 @@ error[E0081]: discriminant value `1isize` already exists - --> $DIR/issue-15524.rs:18:9 + --> $DIR/issue-15524.rs:15:9 | 14 | A = 1, | - first use of `1isize` -... -18 | B = 1, +15 | B = 1, | ^ enum already has `1isize` error[E0081]: discriminant value `1isize` already exists - --> $DIR/issue-15524.rs:22:5 + --> $DIR/issue-15524.rs:18:5 | 14 | A = 1, | - first use of `1isize` ... -22 | D, +18 | D, | ^ enum already has `1isize` error[E0081]: discriminant value `1isize` already exists - --> $DIR/issue-15524.rs:26:9 + --> $DIR/issue-15524.rs:21:9 | 14 | A = 1, | - first use of `1isize` ... -26 | E = N, +21 | E = N, | ^ enum already has `1isize` error: aborting due to 3 previous errors diff --git a/src/test/ui/issue-17263.rs b/src/test/ui/issue-17263.rs index 063afe285fa..242327e93ce 100644 --- a/src/test/ui/issue-17263.rs +++ b/src/test/ui/issue-17263.rs @@ -16,14 +16,8 @@ fn main() { let mut x: Box<_> = box Foo { a: 1, b: 2 }; let (a, b) = (&mut x.a, &mut x.b); //~^ ERROR cannot borrow `x` (via `x.b`) as mutable more than once at a time - //~| NOTE first mutable borrow occurs here (via `x.a`) - //~| NOTE second mutable borrow occurs here (via `x.b`) let mut foo: Box<_> = box Foo { a: 1, b: 2 }; let (c, d) = (&mut foo.a, &foo.b); //~^ ERROR cannot borrow `foo` (via `foo.b`) as immutable - //~| NOTE mutable borrow occurs here (via `foo.a`) - //~| NOTE immutable borrow occurs here (via `foo.b`) } -//~^ NOTE first borrow ends here -//~^^ NOTE mutable borrow ends here diff --git a/src/test/ui/issue-17263.stderr b/src/test/ui/issue-17263.stderr index 934311ee412..a762c0876b5 100644 --- a/src/test/ui/issue-17263.stderr +++ b/src/test/ui/issue-17263.stderr @@ -6,18 +6,18 @@ error[E0499]: cannot borrow `x` (via `x.b`) as mutable more than once at a time | | | first mutable borrow occurs here (via `x.a`) ... -27 | } +23 | } | - first borrow ends here error[E0502]: cannot borrow `foo` (via `foo.b`) as immutable because `foo` is also borrowed as mutable (via `foo.a`) - --> $DIR/issue-17263.rs:23:32 + --> $DIR/issue-17263.rs:21:32 | -23 | let (c, d) = (&mut foo.a, &foo.b); +21 | let (c, d) = (&mut foo.a, &foo.b); | ----- ^^^^^ immutable borrow occurs here (via `foo.b`) | | | mutable borrow occurs here (via `foo.a`) -... -27 | } +22 | //~^ ERROR cannot borrow `foo` (via `foo.b`) as immutable +23 | } | - mutable borrow ends here error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-17441.rs b/src/test/ui/issue-17441.rs index bddc9c13815..c7b07701461 100644 --- a/src/test/ui/issue-17441.rs +++ b/src/test/ui/issue-17441.rs @@ -11,17 +11,13 @@ fn main() { let _foo = &[1_usize, 2] as [usize]; //~^ ERROR cast to unsized type: `&[usize; 2]` as `[usize]` - //~^^ HELP consider using an implicit coercion to `&[usize]` instead let _bar = Box::new(1_usize) as std::fmt::Debug; //~^ ERROR cast to unsized type: `std::boxed::Box<usize>` as `std::fmt::Debug` - //~^^ HELP try casting to a `Box` instead let _baz = 1_usize as std::fmt::Debug; //~^ ERROR cast to unsized type: `usize` as `std::fmt::Debug` - //~^^ HELP consider using a box or reference as appropriate let _quux = [1_usize, 2] as [usize]; //~^ ERROR cast to unsized type: `[usize; 2]` as `[usize]` - //~^^ HELP consider using a box or reference as appropriate } diff --git a/src/test/ui/issue-17441.stderr b/src/test/ui/issue-17441.stderr index 4b0feb84429..593507a5d45 100644 --- a/src/test/ui/issue-17441.stderr +++ b/src/test/ui/issue-17441.stderr @@ -11,35 +11,35 @@ help: consider using an implicit coercion to `&[usize]` instead | ^^^^^^^^^^^^^^^^^^^^^^^^ error[E0620]: cast to unsized type: `std::boxed::Box<usize>` as `std::fmt::Debug` - --> $DIR/issue-17441.rs:16:16 + --> $DIR/issue-17441.rs:15:16 | -16 | let _bar = Box::new(1_usize) as std::fmt::Debug; +15 | let _bar = Box::new(1_usize) as std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^^--------------- | | | help: try casting to a `Box` instead: `Box<std::fmt::Debug>` error[E0620]: cast to unsized type: `usize` as `std::fmt::Debug` - --> $DIR/issue-17441.rs:20:16 + --> $DIR/issue-17441.rs:18:16 | -20 | let _baz = 1_usize as std::fmt::Debug; +18 | let _baz = 1_usize as std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | help: consider using a box or reference as appropriate - --> $DIR/issue-17441.rs:20:16 + --> $DIR/issue-17441.rs:18:16 | -20 | let _baz = 1_usize as std::fmt::Debug; +18 | let _baz = 1_usize as std::fmt::Debug; | ^^^^^^^ error[E0620]: cast to unsized type: `[usize; 2]` as `[usize]` - --> $DIR/issue-17441.rs:24:17 + --> $DIR/issue-17441.rs:21:17 | -24 | let _quux = [1_usize, 2] as [usize]; +21 | let _quux = [1_usize, 2] as [usize]; | ^^^^^^^^^^^^^^^^^^^^^^^ | help: consider using a box or reference as appropriate - --> $DIR/issue-17441.rs:24:17 + --> $DIR/issue-17441.rs:21:17 | -24 | let _quux = [1_usize, 2] as [usize]; +21 | let _quux = [1_usize, 2] as [usize]; | ^^^^^^^^^^^^ error: aborting due to 4 previous errors diff --git a/src/test/ui/issue-17954.stderr b/src/test/ui/issue-17954.stderr index cfd8da1d67b..2ee4a66882b 100644 --- a/src/test/ui/issue-17954.stderr +++ b/src/test/ui/issue-17954.stderr @@ -4,7 +4,7 @@ error[E0597]: borrowed value does not live long enough 17 | let a = &FOO; | ^^^ does not live long enough ... -25 | } //~ temporary value only lives until here +24 | } //~ temporary value only lives until here | - temporary value only lives until here | = note: borrowed value must be valid for the static lifetime... diff --git a/src/test/ui/issue-18183.rs b/src/test/ui/issue-18183.rs index feab04531b7..2cad4a3175f 100644 --- a/src/test/ui/issue-18183.rs +++ b/src/test/ui/issue-18183.rs @@ -9,6 +9,5 @@ // except according to those terms. pub struct Foo<Bar=Bar>(Bar); //~ ERROR E0128 - //~| NOTE defaulted type parameters cannot be forward declared pub struct Baz(Foo); fn main() {} diff --git a/src/test/ui/issue-18819.rs b/src/test/ui/issue-18819.rs index 148eea31ec6..c6f60f1cbba 100644 --- a/src/test/ui/issue-18819.rs +++ b/src/test/ui/issue-18819.rs @@ -19,12 +19,10 @@ impl Foo for X { } fn print_x(_: &Foo<Item=bool>, extra: &str) { - //~^ NOTE defined here println!("{}", extra); } fn main() { print_x(X); //~^ ERROR E0061 - //~| NOTE expected 2 parameters } diff --git a/src/test/ui/issue-18819.stderr b/src/test/ui/issue-18819.stderr index a3f1b23c270..25623668e37 100644 --- a/src/test/ui/issue-18819.stderr +++ b/src/test/ui/issue-18819.stderr @@ -1,13 +1,12 @@ error[E0061]: this function takes 2 parameters but 1 parameter was supplied - --> $DIR/issue-18819.rs:27:13 + --> $DIR/issue-18819.rs:26:13 | 21 | / fn print_x(_: &Foo<Item=bool>, extra: &str) { -22 | | //~^ NOTE defined here -23 | | println!("{}", extra); -24 | | } +22 | | println!("{}", extra); +23 | | } | |_- defined here ... -27 | print_x(X); +26 | print_x(X); | ^ expected 2 parameters error: aborting due to previous error diff --git a/src/test/ui/issue-19100.rs b/src/test/ui/issue-19100.rs index bcadd94eb6f..2032f23e6a3 100644 --- a/src/test/ui/issue-19100.rs +++ b/src/test/ui/issue-19100.rs @@ -26,12 +26,10 @@ impl Foo { & Bar if true //~^ WARN pattern binding `Bar` is named the same as one of the variants of the type `Foo` -//~^^ HELP to match on a variant, consider making the path in the pattern qualified: `Foo::Bar` => println!("bar"), & Baz if false //~^ WARN pattern binding `Baz` is named the same as one of the variants of the type `Foo` -//~^^ HELP to match on a variant, consider making the path in the pattern qualified: `Foo::Baz` => println!("baz"), _ => () } diff --git a/src/test/ui/issue-19100.stderr b/src/test/ui/issue-19100.stderr index 45e2ef652d5..a567e86cfdb 100644 --- a/src/test/ui/issue-19100.stderr +++ b/src/test/ui/issue-19100.stderr @@ -7,9 +7,9 @@ warning[E0170]: pattern binding `Bar` is named the same as one of the variants o = help: if you meant to match on a variant, consider making the path in the pattern qualified: `Foo::Bar` warning[E0170]: pattern binding `Baz` is named the same as one of the variants of the type `Foo` - --> $DIR/issue-19100.rs:32:1 + --> $DIR/issue-19100.rs:31:1 | -32 | Baz if false +31 | Baz if false | ^^^ | = help: if you meant to match on a variant, consider making the path in the pattern qualified: `Foo::Baz` diff --git a/src/test/ui/issue-19498.rs b/src/test/ui/issue-19498.rs index 7de16e5ecfe..30eea2efd15 100644 --- a/src/test/ui/issue-19498.rs +++ b/src/test/ui/issue-19498.rs @@ -8,19 +8,16 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use self::A; //~ NOTE previous import of the module `A` here -use self::B; //~ NOTE previous import of the module `B` here +use self::A; +use self::B; mod A {} //~ ERROR the name `A` is defined multiple times //~| `A` redefined here -//~| NOTE `A` must be defined only once in the type namespace of this module pub mod B {} //~ ERROR the name `B` is defined multiple times //~| `B` redefined here -//~| NOTE `B` must be defined only once in the type namespace of this module mod C { - use C::D; //~ NOTE previous import of the module `D` here + use C::D; mod D {} //~ ERROR the name `D` is defined multiple times //~| `D` redefined here - //~| NOTE `D` must be defined only once in the type namespace of this module } fn main() {} diff --git a/src/test/ui/issue-19498.stderr b/src/test/ui/issue-19498.stderr index fca9d1581b3..e7a308eacfe 100644 --- a/src/test/ui/issue-19498.stderr +++ b/src/test/ui/issue-19498.stderr @@ -1,45 +1,45 @@ error[E0255]: the name `A` is defined multiple times --> $DIR/issue-19498.rs:13:1 | -11 | use self::A; //~ NOTE previous import of the module `A` here +11 | use self::A; | ------- previous import of the module `A` here -12 | use self::B; //~ NOTE previous import of the module `B` here +12 | use self::B; 13 | mod A {} //~ ERROR the name `A` is defined multiple times | ^^^^^^^^ `A` redefined here | = note: `A` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -11 | use self::A as OtherA; //~ NOTE previous import of the module `A` here +11 | use self::A as OtherA; | ^^^^^^^^^^^^^^^^^ error[E0255]: the name `B` is defined multiple times - --> $DIR/issue-19498.rs:16:1 + --> $DIR/issue-19498.rs:15:1 | -12 | use self::B; //~ NOTE previous import of the module `B` here +12 | use self::B; | ------- previous import of the module `B` here ... -16 | pub mod B {} //~ ERROR the name `B` is defined multiple times +15 | pub mod B {} //~ ERROR the name `B` is defined multiple times | ^^^^^^^^^^^^ `B` redefined here | = note: `B` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -12 | use self::B as OtherB; //~ NOTE previous import of the module `B` here +12 | use self::B as OtherB; | ^^^^^^^^^^^^^^^^^ error[E0255]: the name `D` is defined multiple times - --> $DIR/issue-19498.rs:21:5 + --> $DIR/issue-19498.rs:19:5 | -20 | use C::D; //~ NOTE previous import of the module `D` here +18 | use C::D; | ---- previous import of the module `D` here -21 | mod D {} //~ ERROR the name `D` is defined multiple times +19 | mod D {} //~ ERROR the name `D` is defined multiple times | ^^^^^^^^ `D` redefined here | = note: `D` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -20 | use C::D as OtherD; //~ NOTE previous import of the module `D` here +18 | use C::D as OtherD; | ^^^^^^^^^^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/issue-19707.rs b/src/test/ui/issue-19707.rs index beeb7da6d38..377aef2f7d7 100644 --- a/src/test/ui/issue-19707.rs +++ b/src/test/ui/issue-19707.rs @@ -11,9 +11,7 @@ #![allow(dead_code)] type foo = fn(&u8, &u8) -> &u8; //~ ERROR missing lifetime specifier -//~^ HELP the signature does not say whether it is borrowed from argument 1 or argument 2 fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {} //~ ERROR missing lifetime specifier -//~^ HELP the signature does not say whether it is borrowed from argument 1 or argument 2 fn main() {} diff --git a/src/test/ui/issue-19707.stderr b/src/test/ui/issue-19707.stderr index 73f6823fa80..b4d4f6f1bbf 100644 --- a/src/test/ui/issue-19707.stderr +++ b/src/test/ui/issue-19707.stderr @@ -7,9 +7,9 @@ error[E0106]: missing lifetime specifier = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2 error[E0106]: missing lifetime specifier - --> $DIR/issue-19707.rs:16:27 + --> $DIR/issue-19707.rs:15:27 | -16 | fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {} //~ ERROR missing lifetime specifier +15 | fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {} //~ ERROR missing lifetime specifier | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or argument 2 diff --git a/src/test/ui/issue-19922.rs b/src/test/ui/issue-19922.rs index 938ccb343d4..a8350fe0986 100644 --- a/src/test/ui/issue-19922.rs +++ b/src/test/ui/issue-19922.rs @@ -15,6 +15,4 @@ enum Homura { fn main() { let homura = Homura::Akemi { kaname: () }; //~^ ERROR variant `Homura::Akemi` has no field named `kaname` - //~| NOTE `Homura::Akemi` does not have this field - //~| NOTE available fields are: `madoka` } diff --git a/src/test/ui/issue-20692.rs b/src/test/ui/issue-20692.rs index 3e440538755..0a4e7c8ee6b 100644 --- a/src/test/ui/issue-20692.rs +++ b/src/test/ui/issue-20692.rs @@ -13,14 +13,9 @@ trait Array: Sized {} fn f<T: Array>(x: &T) { let _ = x //~^ ERROR `Array` cannot be made into an object - //~| NOTE the trait cannot require that `Self : Sized` - //~| NOTE requirements on the impl of `std::ops::CoerceUnsized<&Array>` - //~| NOTE the trait `Array` cannot be made into an object as &Array; //~^ ERROR `Array` cannot be made into an object - //~| NOTE the trait cannot require that `Self : Sized` - //~| NOTE the trait `Array` cannot be made into an object } fn main() {} diff --git a/src/test/ui/issue-20692.stderr b/src/test/ui/issue-20692.stderr index 08ce96ece6a..2a5ddd1b611 100644 --- a/src/test/ui/issue-20692.stderr +++ b/src/test/ui/issue-20692.stderr @@ -1,7 +1,7 @@ error[E0038]: the trait `Array` cannot be made into an object - --> $DIR/issue-20692.rs:20:5 + --> $DIR/issue-20692.rs:17:5 | -20 | &Array; +17 | &Array; | ^^^^^^ the trait `Array` cannot be made into an object | = note: the trait cannot require that `Self : Sized` diff --git a/src/test/ui/issue-21546.rs b/src/test/ui/issue-21546.rs index b7dbc7c7210..da1669bc913 100644 --- a/src/test/ui/issue-21546.rs +++ b/src/test/ui/issue-21546.rs @@ -12,66 +12,48 @@ #[allow(non_snake_case)] mod Foo { } -//~^ NOTE previous definition of the module `Foo` here #[allow(dead_code)] struct Foo; //~^ ERROR the name `Foo` is defined multiple times -//~| NOTE `Foo` redefined here -//~| NOTE `Foo` must be defined only once in the type namespace of this module #[allow(non_snake_case)] mod Bar { } -//~^ NOTE previous definition of the module `Bar` here #[allow(dead_code)] struct Bar(i32); //~^ ERROR the name `Bar` is defined multiple times -//~| NOTE `Bar` redefined here -//~| NOTE `Bar` must be defined only once in the type namespace of this module #[allow(dead_code)] struct Baz(i32); -//~^ NOTE previous definition of the type `Baz` here #[allow(non_snake_case)] mod Baz { } //~^ ERROR the name `Baz` is defined multiple times -//~| NOTE `Baz` redefined here -//~| NOTE `Baz` must be defined only once in the type namespace of this module #[allow(dead_code)] struct Qux { x: bool } -//~^ NOTE previous definition of the type `Qux` here #[allow(non_snake_case)] mod Qux { } //~^ ERROR the name `Qux` is defined multiple times -//~| NOTE `Qux` redefined here -//~| NOTE `Qux` must be defined only once in the type namespace of this module #[allow(dead_code)] struct Quux; -//~^ NOTE previous definition of the type `Quux` here #[allow(non_snake_case)] mod Quux { } //~^ ERROR the name `Quux` is defined multiple times -//~| NOTE `Quux` redefined here -//~| NOTE `Quux` must be defined only once in the type namespace of this module #[allow(dead_code)] enum Corge { A, B } -//~^ NOTE previous definition of the type `Corge` here #[allow(non_snake_case)] mod Corge { } //~^ ERROR the name `Corge` is defined multiple times -//~| NOTE `Corge` redefined here -//~| NOTE `Corge` must be defined only once in the type namespace of this module fn main() { } diff --git a/src/test/ui/issue-21546.stderr b/src/test/ui/issue-21546.stderr index aea93ec1c8b..9ec8dcdd83a 100644 --- a/src/test/ui/issue-21546.stderr +++ b/src/test/ui/issue-21546.stderr @@ -1,65 +1,65 @@ error[E0428]: the name `Foo` is defined multiple times - --> $DIR/issue-21546.rs:18:1 + --> $DIR/issue-21546.rs:17:1 | 14 | mod Foo { } | ----------- previous definition of the module `Foo` here ... -18 | struct Foo; +17 | struct Foo; | ^^^^^^^^^^^ `Foo` redefined here | = note: `Foo` must be defined only once in the type namespace of this module error[E0428]: the name `Bar` is defined multiple times - --> $DIR/issue-21546.rs:28:1 + --> $DIR/issue-21546.rs:24:1 | -24 | mod Bar { } +21 | mod Bar { } | ----------- previous definition of the module `Bar` here ... -28 | struct Bar(i32); +24 | struct Bar(i32); | ^^^^^^^^^^^^^^^^ `Bar` redefined here | = note: `Bar` must be defined only once in the type namespace of this module error[E0428]: the name `Baz` is defined multiple times - --> $DIR/issue-21546.rs:39:1 + --> $DIR/issue-21546.rs:32:1 | -35 | struct Baz(i32); +29 | struct Baz(i32); | ---------------- previous definition of the type `Baz` here ... -39 | mod Baz { } +32 | mod Baz { } | ^^^^^^^^^^^ `Baz` redefined here | = note: `Baz` must be defined only once in the type namespace of this module error[E0428]: the name `Qux` is defined multiple times - --> $DIR/issue-21546.rs:50:1 + --> $DIR/issue-21546.rs:40:1 | -46 | struct Qux { x: bool } +37 | struct Qux { x: bool } | ---------------------- previous definition of the type `Qux` here ... -50 | mod Qux { } +40 | mod Qux { } | ^^^^^^^^^^^ `Qux` redefined here | = note: `Qux` must be defined only once in the type namespace of this module error[E0428]: the name `Quux` is defined multiple times - --> $DIR/issue-21546.rs:61:1 + --> $DIR/issue-21546.rs:48:1 | -57 | struct Quux; +45 | struct Quux; | ------------ previous definition of the type `Quux` here ... -61 | mod Quux { } +48 | mod Quux { } | ^^^^^^^^^^^^ `Quux` redefined here | = note: `Quux` must be defined only once in the type namespace of this module error[E0428]: the name `Corge` is defined multiple times - --> $DIR/issue-21546.rs:72:1 + --> $DIR/issue-21546.rs:56:1 | -68 | enum Corge { A, B } +53 | enum Corge { A, B } | ------------------- previous definition of the type `Corge` here ... -72 | mod Corge { } +56 | mod Corge { } | ^^^^^^^^^^^^^ `Corge` redefined here | = note: `Corge` must be defined only once in the type namespace of this module diff --git a/src/test/ui/issue-21600.rs b/src/test/ui/issue-21600.rs index 1d0473ec4b6..e4dfad2433c 100644 --- a/src/test/ui/issue-21600.rs +++ b/src/test/ui/issue-21600.rs @@ -19,10 +19,9 @@ impl A { fn main() { let mut x = A; - call_it(|| { //~ HELP consider changing this to accept closures that implement `FnMut` + call_it(|| { call_it(|| x.gen()); call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer //~^ ERROR cannot borrow data mutably in a captured outer - //~| HELP consider changing this closure to take self by mutable reference }); } diff --git a/src/test/ui/issue-21600.stderr b/src/test/ui/issue-21600.stderr index 4cbc4448f78..e177e8ede62 100644 --- a/src/test/ui/issue-21600.stderr +++ b/src/test/ui/issue-21600.stderr @@ -7,13 +7,12 @@ error[E0387]: cannot borrow data mutably in a captured outer variable in an `Fn` help: consider changing this to accept closures that implement `FnMut` --> $DIR/issue-21600.rs:22:13 | -22 | call_it(|| { //~ HELP consider changing this to accept closures that implement `FnMut` +22 | call_it(|| { | _____________^ 23 | | call_it(|| x.gen()); 24 | | call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer 25 | | //~^ ERROR cannot borrow data mutably in a captured outer -26 | | //~| HELP consider changing this closure to take self by mutable reference -27 | | }); +26 | | }); | |_____^ error[E0387]: cannot borrow data mutably in a captured outer variable in an `Fn` closure diff --git a/src/test/ui/issue-21950.rs b/src/test/ui/issue-21950.rs index 935f3480db2..f9328a58d09 100644 --- a/src/test/ui/issue-21950.rs +++ b/src/test/ui/issue-21950.rs @@ -16,8 +16,5 @@ fn main() { let x = &10 as &Add; //~^ ERROR E0393 - //~| NOTE missing reference to `RHS` - //~| NOTE because of the default `Self` reference, type parameters must be specified on object types //~| ERROR E0191 - //~| NOTE missing associated type `Output` value } diff --git a/src/test/ui/issue-22370.rs b/src/test/ui/issue-22370.rs index 51f342e3f0a..4613c5977fd 100644 --- a/src/test/ui/issue-22370.rs +++ b/src/test/ui/issue-22370.rs @@ -14,7 +14,5 @@ trait A<T=Self> {} fn f(a: &A) {} //~^ ERROR E0393 -//~| NOTE missing reference to `T` -//~| NOTE because of the default `Self` reference, type parameters must be specified on object types fn main() {} diff --git a/src/test/ui/issue-22560.rs b/src/test/ui/issue-22560.rs index 914a3bd79d4..b1c636f2ef6 100644 --- a/src/test/ui/issue-22560.rs +++ b/src/test/ui/issue-22560.rs @@ -14,15 +14,9 @@ use std::ops::{Add, Sub}; type Test = Add + //~^ ERROR E0393 - //~| NOTE missing reference to `RHS` - //~| NOTE because of the default `Self` reference, type parameters must be specified on object types //~| ERROR E0191 - //~| NOTE missing associated type `Output` value Sub; //~^ ERROR E0393 - //~| NOTE missing reference to `RHS` - //~| NOTE because of the default `Self` reference, type parameters must be specified on object types //~| ERROR E0225 - //~| NOTE non-auto additional trait fn main() { } diff --git a/src/test/ui/issue-22560.stderr b/src/test/ui/issue-22560.stderr index 8eac545e40c..1c594cb6cb8 100644 --- a/src/test/ui/issue-22560.stderr +++ b/src/test/ui/issue-22560.stderr @@ -7,17 +7,17 @@ error[E0393]: the type parameter `RHS` must be explicitly specified = note: because of the default `Self` reference, type parameters must be specified on object types error[E0393]: the type parameter `RHS` must be explicitly specified - --> $DIR/issue-22560.rs:21:13 + --> $DIR/issue-22560.rs:18:13 | -21 | Sub; +18 | Sub; | ^^^ missing reference to `RHS` | = note: because of the default `Self` reference, type parameters must be specified on object types error[E0225]: only auto traits can be used as additional traits in a trait object - --> $DIR/issue-22560.rs:21:13 + --> $DIR/issue-22560.rs:18:13 | -21 | Sub; +18 | Sub; | ^^^ non-auto additional trait error[E0191]: the value of the associated type `Output` (from the trait `std::ops::Add`) must be specified @@ -26,11 +26,8 @@ error[E0191]: the value of the associated type `Output` (from the trait `std::op 15 | type Test = Add + | _____________^ 16 | | //~^ ERROR E0393 -17 | | //~| NOTE missing reference to `RHS` -18 | | //~| NOTE because of the default `Self` reference, type parameters must be specified on object types -19 | | //~| ERROR E0191 -20 | | //~| NOTE missing associated type `Output` value -21 | | Sub; +17 | | //~| ERROR E0191 +18 | | Sub; | |_______________^ missing associated type `Output` value error: aborting due to 4 previous errors diff --git a/src/test/ui/issue-22886.rs b/src/test/ui/issue-22886.rs index d258a4a8b33..4aa2571cad0 100644 --- a/src/test/ui/issue-22886.rs +++ b/src/test/ui/issue-22886.rs @@ -21,7 +21,6 @@ fn crash_please() { struct Newtype(Option<Box<usize>>); impl<'a> Iterator for Newtype { //~ ERROR E0207 - //~| NOTE unconstrained lifetime parameter type Item = &'a Box<usize>; fn next(&mut self) -> Option<&Box<usize>> { diff --git a/src/test/ui/issue-22933-2.rs b/src/test/ui/issue-22933-2.rs index 583f2ace4ba..e887c7760d6 100644 --- a/src/test/ui/issue-22933-2.rs +++ b/src/test/ui/issue-22933-2.rs @@ -8,12 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -enum Delicious { //~ NOTE variant `PIE` not found here +enum Delicious { Pie = 0x1, Apple = 0x2, ApplePie = Delicious::Apple as isize | Delicious::PIE as isize, //~^ ERROR no variant named `PIE` found for type `Delicious` - //~| NOTE variant not found in `Delicious` } fn main() {} diff --git a/src/test/ui/issue-22933-2.stderr b/src/test/ui/issue-22933-2.stderr index 29e4c02d435..8853d43408c 100644 --- a/src/test/ui/issue-22933-2.stderr +++ b/src/test/ui/issue-22933-2.stderr @@ -1,7 +1,7 @@ error[E0599]: no variant named `PIE` found for type `Delicious` in the current scope --> $DIR/issue-22933-2.rs:14:44 | -11 | enum Delicious { //~ NOTE variant `PIE` not found here +11 | enum Delicious { | -------------- variant `PIE` not found here ... 14 | ApplePie = Delicious::Apple as isize | Delicious::PIE as isize, diff --git a/src/test/ui/issue-23041.rs b/src/test/ui/issue-23041.rs index 4dfad4ee3c3..1a9bb4c29f3 100644 --- a/src/test/ui/issue-23041.rs +++ b/src/test/ui/issue-23041.rs @@ -14,5 +14,4 @@ fn main() fn bar(x:i32) ->i32 { 3*x }; let b:Box<Any> = Box::new(bar as fn(_)->_); b.downcast_ref::<fn(_)->_>(); //~ ERROR E0282 - //~| NOTE cannot infer type for `_` } diff --git a/src/test/ui/issue-23173.rs b/src/test/ui/issue-23173.rs index c0983eb0e52..17e5317b9fe 100644 --- a/src/test/ui/issue-23173.rs +++ b/src/test/ui/issue-23173.rs @@ -9,11 +9,7 @@ // except according to those terms. enum Token { LeftParen, RightParen, Plus, Minus, /* etc */ } -//~^ NOTE variant `Homura` not found here struct Struct { - //~^ NOTE function or associated item `method` not found for this - //~| NOTE function or associated item `method` not found for this - //~| NOTE associated item `Assoc` not found for this a: usize, } @@ -22,14 +18,10 @@ fn use_token(token: &Token) { unimplemented!() } fn main() { use_token(&Token::Homura); //~^ ERROR no variant named `Homura` - //~| NOTE variant not found in `Token` Struct::method(); //~^ ERROR no function or associated item named `method` found for type - //~| NOTE function or associated item not found in `Struct` Struct::method; //~^ ERROR no function or associated item named `method` found for type - //~| NOTE function or associated item not found in `Struct` Struct::Assoc; //~^ ERROR no associated item named `Assoc` found for type `Struct` in - //~| NOTE associated item not found in `Struct` } diff --git a/src/test/ui/issue-23173.stderr b/src/test/ui/issue-23173.stderr index 2e1b9b45f93..38a22257ff8 100644 --- a/src/test/ui/issue-23173.stderr +++ b/src/test/ui/issue-23173.stderr @@ -1,37 +1,37 @@ error[E0599]: no variant named `Homura` found for type `Token` in the current scope - --> $DIR/issue-23173.rs:23:16 + --> $DIR/issue-23173.rs:19:16 | 11 | enum Token { LeftParen, RightParen, Plus, Minus, /* etc */ } | ---------- variant `Homura` not found here ... -23 | use_token(&Token::Homura); +19 | use_token(&Token::Homura); | ^^^^^^^^^^^^^ variant not found in `Token` error[E0599]: no function or associated item named `method` found for type `Struct` in the current scope - --> $DIR/issue-23173.rs:26:5 + --> $DIR/issue-23173.rs:21:5 | -13 | struct Struct { +12 | struct Struct { | ------------- function or associated item `method` not found for this ... -26 | Struct::method(); +21 | Struct::method(); | ^^^^^^^^^^^^^^ function or associated item not found in `Struct` error[E0599]: no function or associated item named `method` found for type `Struct` in the current scope - --> $DIR/issue-23173.rs:29:5 + --> $DIR/issue-23173.rs:23:5 | -13 | struct Struct { +12 | struct Struct { | ------------- function or associated item `method` not found for this ... -29 | Struct::method; +23 | Struct::method; | ^^^^^^^^^^^^^^ function or associated item not found in `Struct` error[E0599]: no associated item named `Assoc` found for type `Struct` in the current scope - --> $DIR/issue-23173.rs:32:5 + --> $DIR/issue-23173.rs:25:5 | -13 | struct Struct { +12 | struct Struct { | ------------- associated item `Assoc` not found for this ... -32 | Struct::Assoc; +25 | Struct::Assoc; | ^^^^^^^^^^^^^ associated item not found in `Struct` error: aborting due to 4 previous errors diff --git a/src/test/ui/issue-23217.rs b/src/test/ui/issue-23217.rs index cce0b99c04d..dc51adf42aa 100644 --- a/src/test/ui/issue-23217.rs +++ b/src/test/ui/issue-23217.rs @@ -8,10 +8,9 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -pub enum SomeEnum { //~ NOTE variant `A` not found here +pub enum SomeEnum { B = SomeEnum::A, //~^ ERROR no variant named `A` found for type `SomeEnum` - //~| NOTE variant not found in `SomeEnum` } fn main() {} diff --git a/src/test/ui/issue-23217.stderr b/src/test/ui/issue-23217.stderr index 7c46a131f72..eae6c2de9c5 100644 --- a/src/test/ui/issue-23217.stderr +++ b/src/test/ui/issue-23217.stderr @@ -1,7 +1,7 @@ error[E0599]: no variant named `A` found for type `SomeEnum` in the current scope --> $DIR/issue-23217.rs:12:9 | -11 | pub enum SomeEnum { //~ NOTE variant `A` not found here +11 | pub enum SomeEnum { | ----------------- variant `A` not found here 12 | B = SomeEnum::A, | ^^^^^^^^^^^ variant not found in `SomeEnum` diff --git a/src/test/ui/issue-23302.rs b/src/test/ui/issue-23302.rs index 35f32d16a9a..2d93ab0c30c 100644 --- a/src/test/ui/issue-23302.rs +++ b/src/test/ui/issue-23302.rs @@ -12,21 +12,17 @@ // the appropriate error (rather than, say, blowing the stack). enum X { A = X::A as isize, //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant } // Since `Y::B` here defaults to `Y::A+1`, this is also a // recursive definition. enum Y { A = Y::B as isize, //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant B, } const A: i32 = B; //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant const B: i32 = A; //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant fn main() { } diff --git a/src/test/ui/issue-23302.stderr b/src/test/ui/issue-23302.stderr index 32caa7611ef..4e93809fac3 100644 --- a/src/test/ui/issue-23302.stderr +++ b/src/test/ui/issue-23302.stderr @@ -5,21 +5,21 @@ error[E0265]: recursive constant | ^^^^^^^^^^^^^ recursion not allowed in constant error[E0265]: recursive constant - --> $DIR/issue-23302.rs:21:9 + --> $DIR/issue-23302.rs:20:9 | -21 | A = Y::B as isize, //~ ERROR E0265 +20 | A = Y::B as isize, //~ ERROR E0265 | ^^^^^^^^^^^^^ recursion not allowed in constant error[E0265]: recursive constant - --> $DIR/issue-23302.rs:26:1 + --> $DIR/issue-23302.rs:24:1 | -26 | const A: i32 = B; //~ ERROR E0265 +24 | const A: i32 = B; //~ ERROR E0265 | ^^^^^^^^^^^^^^^^^ recursion not allowed in constant error[E0265]: recursive constant - --> $DIR/issue-23302.rs:29:1 + --> $DIR/issue-23302.rs:26:1 | -29 | const B: i32 = A; //~ ERROR E0265 +26 | const B: i32 = A; //~ ERROR E0265 | ^^^^^^^^^^^^^^^^^ recursion not allowed in constant error: aborting due to 4 previous errors diff --git a/src/test/ui/issue-23543.rs b/src/test/ui/issue-23543.rs index e1acc8eb475..4ed44154c47 100644 --- a/src/test/ui/issue-23543.rs +++ b/src/test/ui/issue-23543.rs @@ -16,7 +16,6 @@ pub trait D { fn f<T>(self) where T<Bogus = Foo>: A; //~^ ERROR associated type bindings are not allowed here [E0229] - //~| NOTE associated type not allowed here } fn main() {} diff --git a/src/test/ui/issue-23544.rs b/src/test/ui/issue-23544.rs index 3cd6f9ebc71..1d7c2187045 100644 --- a/src/test/ui/issue-23544.rs +++ b/src/test/ui/issue-23544.rs @@ -14,7 +14,6 @@ pub trait D { fn f<T>(self) where T<Bogus = Self::AlsoBogus>: A; //~^ ERROR associated type bindings are not allowed here [E0229] - //~| NOTE associated type not allowed here } fn main() {} diff --git a/src/test/ui/issue-23716.rs b/src/test/ui/issue-23716.rs index 5cf80dd172a..7b72e5689ba 100644 --- a/src/test/ui/issue-23716.rs +++ b/src/test/ui/issue-23716.rs @@ -9,7 +9,6 @@ // except according to those terms. static foo: i32 = 0; -//~^ NOTE a static `foo` is defined here fn bar(foo: i32) {} //~^ ERROR function parameters cannot shadow statics @@ -20,7 +19,6 @@ mod submod { } use self::submod::answer; -//~^ NOTE a static `answer` is imported here fn question(answer: i32) {} //~^ ERROR function parameters cannot shadow statics diff --git a/src/test/ui/issue-23716.stderr b/src/test/ui/issue-23716.stderr index cedff331824..2db67c7ec00 100644 --- a/src/test/ui/issue-23716.stderr +++ b/src/test/ui/issue-23716.stderr @@ -1,19 +1,19 @@ error[E0530]: function parameters cannot shadow statics - --> $DIR/issue-23716.rs:14:8 + --> $DIR/issue-23716.rs:13:8 | 11 | static foo: i32 = 0; | -------------------- a static `foo` is defined here -... -14 | fn bar(foo: i32) {} +12 | +13 | fn bar(foo: i32) {} | ^^^ cannot be named the same as a static error[E0530]: function parameters cannot shadow statics - --> $DIR/issue-23716.rs:25:13 + --> $DIR/issue-23716.rs:23:13 | -22 | use self::submod::answer; +21 | use self::submod::answer; | -------------------- a static `answer` is imported here -... -25 | fn question(answer: i32) {} +22 | +23 | fn question(answer: i32) {} | ^^^^^^ cannot be named the same as a static error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-24036.rs b/src/test/ui/issue-24036.rs index ac7e0f2e9a8..94ac17de4c0 100644 --- a/src/test/ui/issue-24036.rs +++ b/src/test/ui/issue-24036.rs @@ -12,26 +12,15 @@ fn closure_to_loc() { let mut x = |c| c + 1; x = |c| c + 1; //~^ ERROR mismatched types - //~| NOTE no two closures, even if identical, have the same type - //~| HELP consider boxing your closure and/or using it as a trait object - //~| expected closure, found a different closure - //~| expected type `[closure - //~| found type `[closure } fn closure_from_match() { let x = match 1usize { + //~^ ERROR match arms have incompatible types 1 => |c| c + 1, 2 => |c| c - 1, - //~^ NOTE match arm with an incompatible type _ => |c| c - 1 }; - //~^^^^^^ ERROR match arms have incompatible types - //~| NOTE no two closures, even if identical, have the same type - //~| HELP consider boxing your closure and/or using it as a trait object - //~| expected closure, found a different closure - //~| expected type `[closure - //~| found type `[closure } fn main() { } diff --git a/src/test/ui/issue-24036.stderr b/src/test/ui/issue-24036.stderr index 8486c14417c..1a70e90c0cc 100644 --- a/src/test/ui/issue-24036.stderr +++ b/src/test/ui/issue-24036.stderr @@ -18,45 +18,45 @@ help: consider boxing your closure and/or using it as a trait object | ^^^^^^^^^ error[E0308]: match arms have incompatible types - --> $DIR/issue-24036.rs:23:13 + --> $DIR/issue-24036.rs:18:13 | -23 | let x = match 1usize { +18 | let x = match 1usize { | _____________^ -24 | | 1 => |c| c + 1, -25 | | 2 => |c| c - 1, -26 | | //~^ NOTE match arm with an incompatible type -27 | | _ => |c| c - 1 -28 | | }; +19 | | //~^ ERROR match arms have incompatible types +20 | | 1 => |c| c + 1, +21 | | 2 => |c| c - 1, +22 | | _ => |c| c - 1 +23 | | }; | |_____^ expected closure, found a different closure | - = note: expected type `[closure@$DIR/issue-24036.rs:24:14: 24:23]` - found type `[closure@$DIR/issue-24036.rs:25:14: 25:23]` + = note: expected type `[closure@$DIR/issue-24036.rs:20:14: 20:23]` + found type `[closure@$DIR/issue-24036.rs:21:14: 21:23]` note: no two closures, even if identical, have the same type - --> $DIR/issue-24036.rs:23:13 + --> $DIR/issue-24036.rs:18:13 | -23 | let x = match 1usize { +18 | let x = match 1usize { | _____________^ -24 | | 1 => |c| c + 1, -25 | | 2 => |c| c - 1, -26 | | //~^ NOTE match arm with an incompatible type -27 | | _ => |c| c - 1 -28 | | }; +19 | | //~^ ERROR match arms have incompatible types +20 | | 1 => |c| c + 1, +21 | | 2 => |c| c - 1, +22 | | _ => |c| c - 1 +23 | | }; | |_____^ help: consider boxing your closure and/or using it as a trait object - --> $DIR/issue-24036.rs:23:13 + --> $DIR/issue-24036.rs:18:13 | -23 | let x = match 1usize { +18 | let x = match 1usize { | _____________^ -24 | | 1 => |c| c + 1, -25 | | 2 => |c| c - 1, -26 | | //~^ NOTE match arm with an incompatible type -27 | | _ => |c| c - 1 -28 | | }; +19 | | //~^ ERROR match arms have incompatible types +20 | | 1 => |c| c + 1, +21 | | 2 => |c| c - 1, +22 | | _ => |c| c - 1 +23 | | }; | |_____^ note: match arm with an incompatible type - --> $DIR/issue-24036.rs:25:14 + --> $DIR/issue-24036.rs:21:14 | -25 | 2 => |c| c - 1, +21 | 2 => |c| c - 1, | ^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-24081.rs b/src/test/ui/issue-24081.rs index dc8fc01bbfc..16530c509f2 100644 --- a/src/test/ui/issue-24081.rs +++ b/src/test/ui/issue-24081.rs @@ -8,26 +8,21 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use std::ops::Add; //~ NOTE previous import of the trait `Add` here -use std::ops::Sub; //~ NOTE previous import of the trait `Sub` here -use std::ops::Mul; //~ NOTE previous import of the trait `Mul` here -use std::ops::Div; //~ NOTE previous import of the trait `Div` here -use std::ops::Rem; //~ NOTE previous import of the trait `Rem` here +use std::ops::Add; +use std::ops::Sub; +use std::ops::Mul; +use std::ops::Div; +use std::ops::Rem; type Add = bool; //~ ERROR the name `Add` is defined multiple times //~| `Add` redefined here -//~| NOTE `Add` must be defined only once in the type namespace of this module struct Sub { x: f32 } //~ ERROR the name `Sub` is defined multiple times //~| `Sub` redefined here -//~| NOTE `Sub` must be defined only once in the type namespace of this module enum Mul { A, B } //~ ERROR the name `Mul` is defined multiple times //~| `Mul` redefined here -//~| NOTE `Mul` must be defined only once in the type namespace of this module mod Div { } //~ ERROR the name `Div` is defined multiple times //~| `Div` redefined here -//~| NOTE `Div` must be defined only once in the type namespace of this module trait Rem { } //~ ERROR the name `Rem` is defined multiple times //~| `Rem` redefined here -//~| NOTE `Rem` must be defined only once in the type namespace of this module fn main() {} diff --git a/src/test/ui/issue-24081.stderr b/src/test/ui/issue-24081.stderr index 599f23b8462..37a2fba3852 100644 --- a/src/test/ui/issue-24081.stderr +++ b/src/test/ui/issue-24081.stderr @@ -1,7 +1,7 @@ error[E0255]: the name `Add` is defined multiple times --> $DIR/issue-24081.rs:17:1 | -11 | use std::ops::Add; //~ NOTE previous import of the trait `Add` here +11 | use std::ops::Add; | ------------- previous import of the trait `Add` here ... 17 | type Add = bool; //~ ERROR the name `Add` is defined multiple times @@ -10,67 +10,67 @@ error[E0255]: the name `Add` is defined multiple times = note: `Add` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -11 | use std::ops::Add as OtherAdd; //~ NOTE previous import of the trait `Add` here +11 | use std::ops::Add as OtherAdd; | ^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0255]: the name `Sub` is defined multiple times - --> $DIR/issue-24081.rs:20:1 + --> $DIR/issue-24081.rs:19:1 | -12 | use std::ops::Sub; //~ NOTE previous import of the trait `Sub` here +12 | use std::ops::Sub; | ------------- previous import of the trait `Sub` here ... -20 | struct Sub { x: f32 } //~ ERROR the name `Sub` is defined multiple times +19 | struct Sub { x: f32 } //~ ERROR the name `Sub` is defined multiple times | ^^^^^^^^^^^^^^^^^^^^^ `Sub` redefined here | = note: `Sub` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -12 | use std::ops::Sub as OtherSub; //~ NOTE previous import of the trait `Sub` here +12 | use std::ops::Sub as OtherSub; | ^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0255]: the name `Mul` is defined multiple times - --> $DIR/issue-24081.rs:23:1 + --> $DIR/issue-24081.rs:21:1 | -13 | use std::ops::Mul; //~ NOTE previous import of the trait `Mul` here +13 | use std::ops::Mul; | ------------- previous import of the trait `Mul` here ... -23 | enum Mul { A, B } //~ ERROR the name `Mul` is defined multiple times +21 | enum Mul { A, B } //~ ERROR the name `Mul` is defined multiple times | ^^^^^^^^^^^^^^^^^ `Mul` redefined here | = note: `Mul` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -13 | use std::ops::Mul as OtherMul; //~ NOTE previous import of the trait `Mul` here +13 | use std::ops::Mul as OtherMul; | ^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0255]: the name `Div` is defined multiple times - --> $DIR/issue-24081.rs:26:1 + --> $DIR/issue-24081.rs:23:1 | -14 | use std::ops::Div; //~ NOTE previous import of the trait `Div` here +14 | use std::ops::Div; | ------------- previous import of the trait `Div` here ... -26 | mod Div { } //~ ERROR the name `Div` is defined multiple times +23 | mod Div { } //~ ERROR the name `Div` is defined multiple times | ^^^^^^^^^^^ `Div` redefined here | = note: `Div` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -14 | use std::ops::Div as OtherDiv; //~ NOTE previous import of the trait `Div` here +14 | use std::ops::Div as OtherDiv; | ^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0255]: the name `Rem` is defined multiple times - --> $DIR/issue-24081.rs:29:1 + --> $DIR/issue-24081.rs:25:1 | -15 | use std::ops::Rem; //~ NOTE previous import of the trait `Rem` here +15 | use std::ops::Rem; | ------------- previous import of the trait `Rem` here ... -29 | trait Rem { } //~ ERROR the name `Rem` is defined multiple times +25 | trait Rem { } //~ ERROR the name `Rem` is defined multiple times | ^^^^^^^^^^^^^^ `Rem` redefined here | = note: `Rem` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -15 | use std::ops::Rem as OtherRem; //~ NOTE previous import of the trait `Rem` here +15 | use std::ops::Rem as OtherRem; | ^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 5 previous errors diff --git a/src/test/ui/issue-24424.rs b/src/test/ui/issue-24424.rs index 8d4ea66f081..8e9f675b575 100644 --- a/src/test/ui/issue-24424.rs +++ b/src/test/ui/issue-24424.rs @@ -13,6 +13,5 @@ trait Trait0<'l0> {} impl <'l0, 'l1, T0> Trait1<'l0, T0> for bool where T0 : Trait0<'l0>, T0 : Trait0<'l1> {} //~^ ERROR type annotations required: cannot resolve `T0: Trait0<'l0>` -//~^^ NOTE required by `Trait0` fn main() {} diff --git a/src/test/ui/issue-25385.rs b/src/test/ui/issue-25385.rs index 4aacb6840e9..aa941bc5691 100644 --- a/src/test/ui/issue-25385.rs +++ b/src/test/ui/issue-25385.rs @@ -17,7 +17,6 @@ macro_rules! foo { fn main() { let a = 1i32; foo!(a); - //~^ NOTE in this expansion of foo! foo!(1i32.foo()); //~^ ERROR no method named `foo` found for type `i32` in the current scope diff --git a/src/test/ui/issue-25385.stderr b/src/test/ui/issue-25385.stderr index 2e000115ae8..467cfc53388 100644 --- a/src/test/ui/issue-25385.stderr +++ b/src/test/ui/issue-25385.stderr @@ -8,9 +8,9 @@ error[E0599]: no method named `foo` found for type `i32` in the current scope | -------- in this macro invocation error[E0599]: no method named `foo` found for type `i32` in the current scope - --> $DIR/issue-25385.rs:22:15 + --> $DIR/issue-25385.rs:21:15 | -22 | foo!(1i32.foo()); +21 | foo!(1i32.foo()); | ^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-25793.rs b/src/test/ui/issue-25793.rs index ceefd583a5c..4f3d29216e4 100644 --- a/src/test/ui/issue-25793.rs +++ b/src/test/ui/issue-25793.rs @@ -12,7 +12,6 @@ macro_rules! width( ($this:expr) => { $this.width.unwrap() //~^ ERROR cannot use `self.width` because it was mutably borrowed - //~| NOTE use of borrowed `*self` } ); @@ -27,8 +26,6 @@ impl HasInfo { fn get_other(&mut self) -> usize { self.get_size(width!(self)) - //~^ NOTE in this expansion of width! - //~| NOTE borrow of `*self` occurs here } } diff --git a/src/test/ui/issue-25793.stderr b/src/test/ui/issue-25793.stderr index 2a8368c47a9..914cc6fc426 100644 --- a/src/test/ui/issue-25793.stderr +++ b/src/test/ui/issue-25793.stderr @@ -4,7 +4,7 @@ error[E0503]: cannot use `self.width` because it was mutably borrowed 13 | $this.width.unwrap() | ^^^^^^^^^^^ use of borrowed `*self` ... -29 | self.get_size(width!(self)) +28 | self.get_size(width!(self)) | ---- ------------ in this macro invocation | | | borrow of `*self` occurs here diff --git a/src/test/ui/issue-25826.rs b/src/test/ui/issue-25826.rs index 468282fa7cc..00e1279d58a 100644 --- a/src/test/ui/issue-25826.rs +++ b/src/test/ui/issue-25826.rs @@ -12,6 +12,5 @@ fn id<T>(t: T) -> T { t } fn main() { const A: bool = id::<u8> as *const () < id::<u16> as *const (); //~^ ERROR raw pointers cannot be compared in constants [E0395] - //~^^ NOTE comparing raw pointers in static println!("{}", A); } diff --git a/src/test/ui/issue-26056.rs b/src/test/ui/issue-26056.rs index ded685152d4..2dad2351440 100644 --- a/src/test/ui/issue-26056.rs +++ b/src/test/ui/issue-26056.rs @@ -29,6 +29,4 @@ fn main() { let _ = &() as &Map<Key=u32,MapValue=u32>; //~^ ERROR E0038 - //~| NOTE the trait cannot use `Self` as a type parameter - //~| NOTE the trait `Map` cannot be made into an object } diff --git a/src/test/ui/issue-26093.rs b/src/test/ui/issue-26093.rs index 39a53648ccf..3489a2ca9be 100644 --- a/src/test/ui/issue-26093.rs +++ b/src/test/ui/issue-26093.rs @@ -12,11 +12,9 @@ macro_rules! not_an_lvalue { ($thing:expr) => { $thing = 42; //~^ ERROR invalid left-hand side expression - //~^^ NOTE left-hand of expression not valid } } fn main() { not_an_lvalue!(99); - //~^ NOTE in this expansion of not_an_lvalue! } diff --git a/src/test/ui/issue-26093.stderr b/src/test/ui/issue-26093.stderr index 1af248d1631..c2b81b2ce43 100644 --- a/src/test/ui/issue-26093.stderr +++ b/src/test/ui/issue-26093.stderr @@ -4,7 +4,7 @@ error[E0070]: invalid left-hand side expression 13 | $thing = 42; | ^^^^^^^^^^^ left-hand of expression not valid ... -20 | not_an_lvalue!(99); +19 | not_an_lvalue!(99); | ------------------- in this macro invocation error: aborting due to previous error diff --git a/src/test/ui/issue-26472.rs b/src/test/ui/issue-26472.rs index 0d59a897ef1..9b25eb72f3d 100644 --- a/src/test/ui/issue-26472.rs +++ b/src/test/ui/issue-26472.rs @@ -20,5 +20,4 @@ fn main() { let s = sub::S::new(); let v = s.len; //~^ ERROR field `len` of struct `sub::S` is private - //~| NOTE a method `len` also exists, perhaps you wish to call it } diff --git a/src/test/ui/issue-26638.rs b/src/test/ui/issue-26638.rs index 9b8c7b25076..85a10588975 100644 --- a/src/test/ui/issue-26638.rs +++ b/src/test/ui/issue-26638.rs @@ -10,16 +10,11 @@ fn parse_type(iter: Box<Iterator<Item=&str>+'static>) -> &str { iter.next() } //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP 2 lifetimes fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() } //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP lifetime cannot be derived -//~^^^ HELP consider giving it an explicit bounded or 'static lifetime fn parse_type_3() -> &str { unimplemented!() } //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP no value for it to be borrowed from -//~^^^ HELP consider giving it a 'static lifetime fn main() {} diff --git a/src/test/ui/issue-26638.stderr b/src/test/ui/issue-26638.stderr index 733c46adbf9..3b124ff4063 100644 --- a/src/test/ui/issue-26638.stderr +++ b/src/test/ui/issue-26638.stderr @@ -7,18 +7,18 @@ error[E0106]: missing lifetime specifier = help: this function's return type contains a borrowed value, but the signature does not say which one of `iter`'s 2 lifetimes it is borrowed from error[E0106]: missing lifetime specifier - --> $DIR/issue-26638.rs:15:40 + --> $DIR/issue-26638.rs:14:40 | -15 | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() } +14 | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() } | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments = help: consider giving it an explicit bounded or 'static lifetime error[E0106]: missing lifetime specifier - --> $DIR/issue-26638.rs:20:22 + --> $DIR/issue-26638.rs:17:22 | -20 | fn parse_type_3() -> &str { unimplemented!() } +17 | fn parse_type_3() -> &str { unimplemented!() } | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from diff --git a/src/test/ui/issue-26886.rs b/src/test/ui/issue-26886.rs index 9b195060196..24ef7cb74c8 100644 --- a/src/test/ui/issue-26886.rs +++ b/src/test/ui/issue-26886.rs @@ -8,13 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use std::sync::{self, Arc}; //~ NOTE previous import of the type `Arc` here - //~^ NOTE previous import of the module `sync` here +use std::sync::{self, Arc}; use std::sync::Arc; //~ ERROR the name `Arc` is defined multiple times - //~| NOTE `Arc` reimported here //~| `Arc` must be defined only once in the type namespace of this module use std::sync; //~ ERROR the name `sync` is defined multiple times - //~| NOTE `sync` reimported here //~| `sync` must be defined only once in the type namespace of this module fn main() { diff --git a/src/test/ui/issue-26886.stderr b/src/test/ui/issue-26886.stderr index 1cdf5174a96..cb2eca87068 100644 --- a/src/test/ui/issue-26886.stderr +++ b/src/test/ui/issue-26886.stderr @@ -1,31 +1,30 @@ error[E0252]: the name `Arc` is defined multiple times - --> $DIR/issue-26886.rs:13:5 + --> $DIR/issue-26886.rs:12:5 | -11 | use std::sync::{self, Arc}; //~ NOTE previous import of the type `Arc` here +11 | use std::sync::{self, Arc}; | --- previous import of the type `Arc` here -12 | //~^ NOTE previous import of the module `sync` here -13 | use std::sync::Arc; //~ ERROR the name `Arc` is defined multiple times +12 | use std::sync::Arc; //~ ERROR the name `Arc` is defined multiple times | ^^^^^^^^^^^^^^ `Arc` reimported here | = note: `Arc` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -13 | use std::sync::Arc as OtherArc; //~ ERROR the name `Arc` is defined multiple times +12 | use std::sync::Arc as OtherArc; //~ ERROR the name `Arc` is defined multiple times | ^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0252]: the name `sync` is defined multiple times - --> $DIR/issue-26886.rs:16:5 + --> $DIR/issue-26886.rs:14:5 | -11 | use std::sync::{self, Arc}; //~ NOTE previous import of the type `Arc` here +11 | use std::sync::{self, Arc}; | ---- previous import of the module `sync` here ... -16 | use std::sync; //~ ERROR the name `sync` is defined multiple times +14 | use std::sync; //~ ERROR the name `sync` is defined multiple times | ^^^^^^^^^ `sync` reimported here | = note: `sync` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -16 | use std::sync as Othersync; //~ ERROR the name `sync` is defined multiple times +14 | use std::sync as Othersync; //~ ERROR the name `sync` is defined multiple times | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-27842.rs b/src/test/ui/issue-27842.rs index b4cfa607292..d9dc3458a4a 100644 --- a/src/test/ui/issue-27842.rs +++ b/src/test/ui/issue-27842.rs @@ -13,11 +13,9 @@ fn main() { // the case where we show a suggestion let _ = tup[0]; //~^ ERROR cannot index into a value of type - //~| HELP to access tuple elements, use // the case where we show just a general hint let i = 0_usize; let _ = tup[i]; //~^ ERROR cannot index into a value of type - //~| HELP to access tuple elements, use tuple indexing syntax (e.g. `tuple.0`) } diff --git a/src/test/ui/issue-27842.stderr b/src/test/ui/issue-27842.stderr index 30bc3a85a11..2e3b20e43ff 100644 --- a/src/test/ui/issue-27842.stderr +++ b/src/test/ui/issue-27842.stderr @@ -5,9 +5,9 @@ error[E0608]: cannot index into a value of type `({integer}, {integer}, {integer | ^^^^^^ help: to access tuple elements, use: `tup.0` error[E0608]: cannot index into a value of type `({integer}, {integer}, {integer})` - --> $DIR/issue-27842.rs:20:13 + --> $DIR/issue-27842.rs:19:13 | -20 | let _ = tup[i]; +19 | let _ = tup[i]; | ^^^^^^ | = help: to access tuple elements, use tuple indexing syntax (e.g. `tuple.0`) diff --git a/src/test/ui/issue-27942.rs b/src/test/ui/issue-27942.rs index 0fa4184606e..2234aede00d 100644 --- a/src/test/ui/issue-27942.rs +++ b/src/test/ui/issue-27942.rs @@ -11,18 +11,12 @@ pub trait Resources<'a> {} pub trait Buffer<'a, R: Resources<'a>> { - //~^ NOTE the lifetime 'a as defined on the trait at 13:1... - //~| NOTE ...does not necessarily outlive the lifetime 'a as defined on the trait fn select(&self) -> BufferViewHandle<R>; //~^ ERROR mismatched types //~| lifetime mismatch - //~| NOTE expected type `Resources<'_>` - //~| NOTE ...does not necessarily outlive the anonymous lifetime #1 defined on the method body //~| ERROR mismatched types //~| lifetime mismatch - //~| NOTE expected type `Resources<'_>` - //~| NOTE the anonymous lifetime #1 defined on the method body at 17:5... } pub struct BufferViewHandle<'a, R: 'a+Resources<'a>>(&'a R); diff --git a/src/test/ui/issue-27942.stderr b/src/test/ui/issue-27942.stderr index 528377adcb7..b580b8e7313 100644 --- a/src/test/ui/issue-27942.stderr +++ b/src/test/ui/issue-27942.stderr @@ -1,32 +1,32 @@ error[E0308]: mismatched types - --> $DIR/issue-27942.rs:17:5 + --> $DIR/issue-27942.rs:15:5 | -17 | fn select(&self) -> BufferViewHandle<R>; +15 | fn select(&self) -> BufferViewHandle<R>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected type `Resources<'_>` found type `Resources<'a>` -note: the anonymous lifetime #1 defined on the method body at 17:5... - --> $DIR/issue-27942.rs:17:5 +note: the anonymous lifetime #1 defined on the method body at 15:5... + --> $DIR/issue-27942.rs:15:5 | -17 | fn select(&self) -> BufferViewHandle<R>; +15 | fn select(&self) -> BufferViewHandle<R>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: ...does not necessarily outlive the lifetime 'a as defined on the trait at 13:1 --> $DIR/issue-27942.rs:13:1 | 13 | / pub trait Buffer<'a, R: Resources<'a>> { -14 | | //~^ NOTE the lifetime 'a as defined on the trait at 13:1... -15 | | //~| NOTE ...does not necessarily outlive the lifetime 'a as defined on the trait -16 | | +14 | | +15 | | fn select(&self) -> BufferViewHandle<R>; +16 | | //~^ ERROR mismatched types ... | -25 | | //~| NOTE the anonymous lifetime #1 defined on the method body at 17:5... -26 | | } +19 | | //~| lifetime mismatch +20 | | } | |_^ error[E0308]: mismatched types - --> $DIR/issue-27942.rs:17:5 + --> $DIR/issue-27942.rs:15:5 | -17 | fn select(&self) -> BufferViewHandle<R>; +15 | fn select(&self) -> BufferViewHandle<R>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected type `Resources<'_>` @@ -35,17 +35,17 @@ note: the lifetime 'a as defined on the trait at 13:1... --> $DIR/issue-27942.rs:13:1 | 13 | / pub trait Buffer<'a, R: Resources<'a>> { -14 | | //~^ NOTE the lifetime 'a as defined on the trait at 13:1... -15 | | //~| NOTE ...does not necessarily outlive the lifetime 'a as defined on the trait -16 | | +14 | | +15 | | fn select(&self) -> BufferViewHandle<R>; +16 | | //~^ ERROR mismatched types ... | -25 | | //~| NOTE the anonymous lifetime #1 defined on the method body at 17:5... -26 | | } +19 | | //~| lifetime mismatch +20 | | } | |_^ -note: ...does not necessarily outlive the anonymous lifetime #1 defined on the method body at 17:5 - --> $DIR/issue-27942.rs:17:5 +note: ...does not necessarily outlive the anonymous lifetime #1 defined on the method body at 15:5 + --> $DIR/issue-27942.rs:15:5 | -17 | fn select(&self) -> BufferViewHandle<R>; +15 | fn select(&self) -> BufferViewHandle<R>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/issue-2848.rs b/src/test/ui/issue-2848.rs index 38bd7adefd9..f3fc94434d3 100644 --- a/src/test/ui/issue-2848.rs +++ b/src/test/ui/issue-2848.rs @@ -20,7 +20,6 @@ fn main() { use bar::foo::{alpha, charlie}; match alpha { alpha | beta => {} //~ ERROR variable `beta` is not bound in all patterns - charlie => {} //~| NOTE pattern doesn't bind `beta` - //~| NOTE variable not in all patterns + charlie => {} } } diff --git a/src/test/ui/issue-28568.rs b/src/test/ui/issue-28568.rs index f03daafc637..e8c34198852 100644 --- a/src/test/ui/issue-28568.rs +++ b/src/test/ui/issue-28568.rs @@ -11,13 +11,11 @@ struct MyStruct; impl Drop for MyStruct { -//~^ NOTE first implementation here fn drop(&mut self) { } } impl Drop for MyStruct { //~^ ERROR conflicting implementations of trait -//~| NOTE conflicting implementation for `MyStruct` fn drop(&mut self) { } } diff --git a/src/test/ui/issue-28568.stderr b/src/test/ui/issue-28568.stderr index 19e15502487..2b4025ac122 100644 --- a/src/test/ui/issue-28568.stderr +++ b/src/test/ui/issue-28568.stderr @@ -1,17 +1,15 @@ error[E0119]: conflicting implementations of trait `std::ops::Drop` for type `MyStruct`: - --> $DIR/issue-28568.rs:18:1 + --> $DIR/issue-28568.rs:17:1 | 13 | / impl Drop for MyStruct { -14 | | //~^ NOTE first implementation here -15 | | fn drop(&mut self) { } -16 | | } +14 | | fn drop(&mut self) { } +15 | | } | |_- first implementation here -17 | -18 | / impl Drop for MyStruct { -19 | | //~^ ERROR conflicting implementations of trait -20 | | //~| NOTE conflicting implementation for `MyStruct` -21 | | fn drop(&mut self) { } -22 | | } +16 | +17 | / impl Drop for MyStruct { +18 | | //~^ ERROR conflicting implementations of trait +19 | | fn drop(&mut self) { } +20 | | } | |_^ conflicting implementation for `MyStruct` error: aborting due to previous error diff --git a/src/test/ui/issue-28776.rs b/src/test/ui/issue-28776.rs index 4a36bc88fa7..196c4bd2728 100644 --- a/src/test/ui/issue-28776.rs +++ b/src/test/ui/issue-28776.rs @@ -13,5 +13,4 @@ use std::ptr; fn main() { (&ptr::write)(1 as *mut _, 42); //~^ ERROR E0133 - //~| NOTE call to unsafe function } diff --git a/src/test/ui/issue-28837.rs b/src/test/ui/issue-28837.rs index c7cf63bf2c4..91ea18a8c6c 100644 --- a/src/test/ui/issue-28837.rs +++ b/src/test/ui/issue-28837.rs @@ -14,47 +14,32 @@ fn main() { let a = A; a + a; //~ ERROR binary operation `+` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Add` might be missing for `A` a - a; //~ ERROR binary operation `-` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Sub` might be missing for `A` a * a; //~ ERROR binary operation `*` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Mul` might be missing for `A` a / a; //~ ERROR binary operation `/` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Div` might be missing for `A` a % a; //~ ERROR binary operation `%` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Rem` might be missing for `A` a & a; //~ ERROR binary operation `&` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::BitAnd` might be missing for `A` a | a; //~ ERROR binary operation `|` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::BitOr` might be missing for `A` a << a; //~ ERROR binary operation `<<` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Shl` might be missing for `A` a >> a; //~ ERROR binary operation `>>` cannot be applied to type `A` - //~^ NOTE an implementation of `std::ops::Shr` might be missing for `A` a == a; //~ ERROR binary operation `==` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialEq` might be missing for `A` a != a; //~ ERROR binary operation `!=` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialEq` might be missing for `A` a < a; //~ ERROR binary operation `<` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialOrd` might be missing for `A` a <= a; //~ ERROR binary operation `<=` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialOrd` might be missing for `A` a > a; //~ ERROR binary operation `>` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialOrd` might be missing for `A` a >= a; //~ ERROR binary operation `>=` cannot be applied to type `A` - //~^ NOTE an implementation of `std::cmp::PartialOrd` might be missing for `A` } diff --git a/src/test/ui/issue-28837.stderr b/src/test/ui/issue-28837.stderr index 71f9d57a065..8d9afb5be79 100644 --- a/src/test/ui/issue-28837.stderr +++ b/src/test/ui/issue-28837.stderr @@ -7,113 +7,113 @@ error[E0369]: binary operation `+` cannot be applied to type `A` = note: an implementation of `std::ops::Add` might be missing for `A` error[E0369]: binary operation `-` cannot be applied to type `A` - --> $DIR/issue-28837.rs:19:5 + --> $DIR/issue-28837.rs:18:5 | -19 | a - a; //~ ERROR binary operation `-` cannot be applied to type `A` +18 | a - a; //~ ERROR binary operation `-` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::Sub` might be missing for `A` error[E0369]: binary operation `*` cannot be applied to type `A` - --> $DIR/issue-28837.rs:22:5 + --> $DIR/issue-28837.rs:20:5 | -22 | a * a; //~ ERROR binary operation `*` cannot be applied to type `A` +20 | a * a; //~ ERROR binary operation `*` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::Mul` might be missing for `A` error[E0369]: binary operation `/` cannot be applied to type `A` - --> $DIR/issue-28837.rs:25:5 + --> $DIR/issue-28837.rs:22:5 | -25 | a / a; //~ ERROR binary operation `/` cannot be applied to type `A` +22 | a / a; //~ ERROR binary operation `/` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::Div` might be missing for `A` error[E0369]: binary operation `%` cannot be applied to type `A` - --> $DIR/issue-28837.rs:28:5 + --> $DIR/issue-28837.rs:24:5 | -28 | a % a; //~ ERROR binary operation `%` cannot be applied to type `A` +24 | a % a; //~ ERROR binary operation `%` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::Rem` might be missing for `A` error[E0369]: binary operation `&` cannot be applied to type `A` - --> $DIR/issue-28837.rs:31:5 + --> $DIR/issue-28837.rs:26:5 | -31 | a & a; //~ ERROR binary operation `&` cannot be applied to type `A` +26 | a & a; //~ ERROR binary operation `&` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::BitAnd` might be missing for `A` error[E0369]: binary operation `|` cannot be applied to type `A` - --> $DIR/issue-28837.rs:34:5 + --> $DIR/issue-28837.rs:28:5 | -34 | a | a; //~ ERROR binary operation `|` cannot be applied to type `A` +28 | a | a; //~ ERROR binary operation `|` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::ops::BitOr` might be missing for `A` error[E0369]: binary operation `<<` cannot be applied to type `A` - --> $DIR/issue-28837.rs:37:5 + --> $DIR/issue-28837.rs:30:5 | -37 | a << a; //~ ERROR binary operation `<<` cannot be applied to type `A` +30 | a << a; //~ ERROR binary operation `<<` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::ops::Shl` might be missing for `A` error[E0369]: binary operation `>>` cannot be applied to type `A` - --> $DIR/issue-28837.rs:40:5 + --> $DIR/issue-28837.rs:32:5 | -40 | a >> a; //~ ERROR binary operation `>>` cannot be applied to type `A` +32 | a >> a; //~ ERROR binary operation `>>` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::ops::Shr` might be missing for `A` error[E0369]: binary operation `==` cannot be applied to type `A` - --> $DIR/issue-28837.rs:43:5 + --> $DIR/issue-28837.rs:34:5 | -43 | a == a; //~ ERROR binary operation `==` cannot be applied to type `A` +34 | a == a; //~ ERROR binary operation `==` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::cmp::PartialEq` might be missing for `A` error[E0369]: binary operation `!=` cannot be applied to type `A` - --> $DIR/issue-28837.rs:46:5 + --> $DIR/issue-28837.rs:36:5 | -46 | a != a; //~ ERROR binary operation `!=` cannot be applied to type `A` +36 | a != a; //~ ERROR binary operation `!=` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::cmp::PartialEq` might be missing for `A` error[E0369]: binary operation `<` cannot be applied to type `A` - --> $DIR/issue-28837.rs:49:5 + --> $DIR/issue-28837.rs:38:5 | -49 | a < a; //~ ERROR binary operation `<` cannot be applied to type `A` +38 | a < a; //~ ERROR binary operation `<` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::cmp::PartialOrd` might be missing for `A` error[E0369]: binary operation `<=` cannot be applied to type `A` - --> $DIR/issue-28837.rs:52:5 + --> $DIR/issue-28837.rs:40:5 | -52 | a <= a; //~ ERROR binary operation `<=` cannot be applied to type `A` +40 | a <= a; //~ ERROR binary operation `<=` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::cmp::PartialOrd` might be missing for `A` error[E0369]: binary operation `>` cannot be applied to type `A` - --> $DIR/issue-28837.rs:55:5 + --> $DIR/issue-28837.rs:42:5 | -55 | a > a; //~ ERROR binary operation `>` cannot be applied to type `A` +42 | a > a; //~ ERROR binary operation `>` cannot be applied to type `A` | ^^^^^ | = note: an implementation of `std::cmp::PartialOrd` might be missing for `A` error[E0369]: binary operation `>=` cannot be applied to type `A` - --> $DIR/issue-28837.rs:58:5 + --> $DIR/issue-28837.rs:44:5 | -58 | a >= a; //~ ERROR binary operation `>=` cannot be applied to type `A` +44 | a >= a; //~ ERROR binary operation `>=` cannot be applied to type `A` | ^^^^^^ | = note: an implementation of `std::cmp::PartialOrd` might be missing for `A` diff --git a/src/test/ui/issue-28971.rs b/src/test/ui/issue-28971.rs index 10be4d6210d..e553fee5a62 100644 --- a/src/test/ui/issue-28971.rs +++ b/src/test/ui/issue-28971.rs @@ -10,7 +10,7 @@ // This should not cause an ICE -enum Foo { //~ NOTE variant `Baz` not found here +enum Foo { Bar(u8) } fn main(){ @@ -18,7 +18,6 @@ fn main(){ match Foo::Bar(1) { Foo::Baz(..) => (), //~^ ERROR no variant named `Baz` found for type `Foo` - //~| NOTE variant not found in `Foo` _ => (), } }); diff --git a/src/test/ui/issue-28971.stderr b/src/test/ui/issue-28971.stderr index 6a2cf044373..6237aae67be 100644 --- a/src/test/ui/issue-28971.stderr +++ b/src/test/ui/issue-28971.stderr @@ -1,7 +1,7 @@ error[E0599]: no variant named `Baz` found for type `Foo` in the current scope --> $DIR/issue-28971.rs:19:13 | -13 | enum Foo { //~ NOTE variant `Baz` not found here +13 | enum Foo { | -------- variant `Baz` not found here ... 19 | Foo::Baz(..) => (), diff --git a/src/test/ui/issue-29124.rs b/src/test/ui/issue-29124.rs index a72dac0d5dd..77fa8192b97 100644 --- a/src/test/ui/issue-29124.rs +++ b/src/test/ui/issue-29124.rs @@ -24,8 +24,6 @@ fn func() -> ret { fn main() { obj::func.x(); //~^ ERROR no method named `x` found for type `fn() -> ret {obj::func}` in the current scope - //~^^ NOTE obj::func is a function, perhaps you wish to call it func.x(); //~^ ERROR no method named `x` found for type `fn() -> ret {func}` in the current scope - //~^^ NOTE func is a function, perhaps you wish to call it } diff --git a/src/test/ui/issue-29124.stderr b/src/test/ui/issue-29124.stderr index 7c350b18752..0b81526d655 100644 --- a/src/test/ui/issue-29124.stderr +++ b/src/test/ui/issue-29124.stderr @@ -7,9 +7,9 @@ error[E0599]: no method named `x` found for type `fn() -> ret {obj::func}` in th = note: obj::func is a function, perhaps you wish to call it error[E0599]: no method named `x` found for type `fn() -> ret {func}` in the current scope - --> $DIR/issue-29124.rs:28:10 + --> $DIR/issue-29124.rs:27:10 | -28 | func.x(); +27 | func.x(); | ^ | = note: func is a function, perhaps you wish to call it diff --git a/src/test/ui/issue-30007.rs b/src/test/ui/issue-30007.rs index fa0b75da999..c17833ee830 100644 --- a/src/test/ui/issue-30007.rs +++ b/src/test/ui/issue-30007.rs @@ -13,5 +13,5 @@ macro_rules! t { } fn main() { - let i: Vec<t!()>; //~ NOTE caused by the macro expansion here + let i: Vec<t!()>; } diff --git a/src/test/ui/issue-30007.stderr b/src/test/ui/issue-30007.stderr index cf4bc10a3d7..24458ef44c4 100644 --- a/src/test/ui/issue-30007.stderr +++ b/src/test/ui/issue-30007.stderr @@ -7,7 +7,7 @@ error: macro expansion ignores token `;` and any following note: caused by the macro expansion here; the usage of `t!` is likely invalid in type context --> $DIR/issue-30007.rs:16:16 | -16 | let i: Vec<t!()>; //~ NOTE caused by the macro expansion here +16 | let i: Vec<t!()>; | ^^^^ error: aborting due to previous error diff --git a/src/test/ui/issue-3008-1.rs b/src/test/ui/issue-3008-1.rs index 7ca6d9301a6..89de27326b4 100644 --- a/src/test/ui/issue-3008-1.rs +++ b/src/test/ui/issue-3008-1.rs @@ -14,9 +14,8 @@ enum Foo { enum Bar { //~^ ERROR recursive type `Bar` has infinite size - //~| NOTE recursive type has infinite size BarNone, - BarSome(Bar) //~ NOTE recursive without indirection + BarSome(Bar) } fn main() { diff --git a/src/test/ui/issue-3008-1.stderr b/src/test/ui/issue-3008-1.stderr index 7d1e139e5ce..7d8e10a7606 100644 --- a/src/test/ui/issue-3008-1.stderr +++ b/src/test/ui/issue-3008-1.stderr @@ -4,7 +4,7 @@ error[E0072]: recursive type `Bar` has infinite size 15 | enum Bar { | ^^^^^^^^ recursive type has infinite size ... -19 | BarSome(Bar) //~ NOTE recursive without indirection +18 | BarSome(Bar) | ---- recursive without indirection | = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `Bar` representable diff --git a/src/test/ui/issue-3008-2.rs b/src/test/ui/issue-3008-2.rs index 061d1facda0..b627656c91a 100644 --- a/src/test/ui/issue-3008-2.rs +++ b/src/test/ui/issue-3008-2.rs @@ -11,8 +11,6 @@ enum foo { foo_(bar) } struct bar { x: bar } //~^ ERROR E0072 -//~| NOTE recursive type has infinite size -//~| NOTE recursive without indirection fn main() { } diff --git a/src/test/ui/issue-30255.rs b/src/test/ui/issue-30255.rs index e3f55ae51e8..7db0b1ca203 100644 --- a/src/test/ui/issue-30255.rs +++ b/src/test/ui/issue-30255.rs @@ -17,19 +17,16 @@ struct S<'a> { fn f(a: &S, b: i32) -> &i32 { //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP does not say which one of `a`'s 2 lifetimes it is borrowed from panic!(); } fn g(a: &S, b: bool, c: &i32) -> &i32 { //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP does not say whether it is borrowed from one of `a`'s 2 lifetimes or `c` panic!(); } fn h(a: &bool, b: bool, c: &S, d: &i32) -> &i32 { //~^ ERROR missing lifetime specifier [E0106] -//~^^ HELP does not say whether it is borrowed from `a`, one of `c`'s 2 lifetimes, or `d` panic!(); } diff --git a/src/test/ui/issue-30255.stderr b/src/test/ui/issue-30255.stderr index 54b14bc6419..b0c314912cc 100644 --- a/src/test/ui/issue-30255.stderr +++ b/src/test/ui/issue-30255.stderr @@ -7,17 +7,17 @@ error[E0106]: missing lifetime specifier = help: this function's return type contains a borrowed value, but the signature does not say which one of `a`'s 2 lifetimes it is borrowed from error[E0106]: missing lifetime specifier - --> $DIR/issue-30255.rs:24:34 + --> $DIR/issue-30255.rs:23:34 | -24 | fn g(a: &S, b: bool, c: &i32) -> &i32 { +23 | fn g(a: &S, b: bool, c: &i32) -> &i32 { | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from one of `a`'s 2 lifetimes or `c` error[E0106]: missing lifetime specifier - --> $DIR/issue-30255.rs:30:44 + --> $DIR/issue-30255.rs:28:44 | -30 | fn h(a: &bool, b: bool, c: &S, d: &i32) -> &i32 { +28 | fn h(a: &bool, b: bool, c: &S, d: &i32) -> &i32 { | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `a`, one of `c`'s 2 lifetimes, or `d` diff --git a/src/test/ui/issue-30302.rs b/src/test/ui/issue-30302.rs index 01150ff1374..51c76713a76 100644 --- a/src/test/ui/issue-30302.rs +++ b/src/test/ui/issue-30302.rs @@ -22,7 +22,6 @@ fn is_empty<T>(s: Stack<T>) -> bool { match s { Nil => true, //~^ WARN pattern binding `Nil` is named the same as one of the variants of the type `Stack` -//~| HELP consider making the path in the pattern qualified: `Stack::Nil` _ => false //~^ ERROR unreachable pattern } diff --git a/src/test/ui/issue-30302.stderr b/src/test/ui/issue-30302.stderr index b880a4e0ea2..e86b588aad2 100644 --- a/src/test/ui/issue-30302.stderr +++ b/src/test/ui/issue-30302.stderr @@ -7,9 +7,9 @@ warning[E0170]: pattern binding `Nil` is named the same as one of the variants o = help: if you meant to match on a variant, consider making the path in the pattern qualified: `Stack::Nil` error: unreachable pattern - --> $DIR/issue-30302.rs:26:9 + --> $DIR/issue-30302.rs:25:9 | -26 | _ => false +25 | _ => false | ^ this is an unreachable pattern | note: lint level defined here diff --git a/src/test/ui/issue-3044.rs b/src/test/ui/issue-3044.rs index 4c63f7761a6..5708f160a41 100644 --- a/src/test/ui/issue-3044.rs +++ b/src/test/ui/issue-3044.rs @@ -14,5 +14,4 @@ fn main() { needlesArr.iter().fold(|x, y| { }); //~^^ ERROR this function takes 2 parameters but 1 parameter was supplied - //~| NOTE expected 2 parameters } diff --git a/src/test/ui/issue-30730.rs b/src/test/ui/issue-30730.rs index d1af39a6c18..c57a34a90df 100644 --- a/src/test/ui/issue-30730.rs +++ b/src/test/ui/issue-30730.rs @@ -9,8 +9,7 @@ // except according to those terms. #![warn(unused)] -#![deny(warnings)] //~ NOTE: lint level defined here +#![deny(warnings)] use std::thread; //~^ ERROR: unused import -//~| NOTE: #[deny(unused_imports)] implied by #[deny(warnings)] fn main() {} diff --git a/src/test/ui/issue-30730.stderr b/src/test/ui/issue-30730.stderr index 1a91ee2e841..192c1f542de 100644 --- a/src/test/ui/issue-30730.stderr +++ b/src/test/ui/issue-30730.stderr @@ -7,7 +7,7 @@ error: unused import: `std::thread` note: lint level defined here --> $DIR/issue-30730.rs:12:9 | -12 | #![deny(warnings)] //~ NOTE: lint level defined here +12 | #![deny(warnings)] | ^^^^^^^^ = note: #[deny(unused_imports)] implied by #[deny(warnings)] diff --git a/src/test/ui/issue-31221.rs b/src/test/ui/issue-31221.rs index 8701ca0178f..ca15a869a9c 100644 --- a/src/test/ui/issue-31221.rs +++ b/src/test/ui/issue-31221.rs @@ -12,7 +12,6 @@ #![allow(unused_variables)] #![allow(non_snake_case)] #![deny(unreachable_patterns)] -//~^ NOTE lint level defined here #[derive(Clone, Copy)] enum Enum { @@ -26,26 +25,20 @@ fn main() { match s { Var1 => (), Var3 => (), - //~^ NOTE this pattern matches any value Var2 => (), //~^ ERROR unreachable pattern - //~^^ NOTE this is an unreachable pattern }; match &s { &Var1 => (), &Var3 => (), - //~^ NOTE this pattern matches any value &Var2 => (), //~^ ERROR unreachable pattern - //~^^ NOTE this is an unreachable pattern }; let t = (Var1, Var1); match t { (Var1, b) => (), (c, d) => (), - //~^ NOTE this pattern matches any value anything => () //~^ ERROR unreachable pattern - //~^^ NOTE this is an unreachable pattern }; } diff --git a/src/test/ui/issue-31221.stderr b/src/test/ui/issue-31221.stderr index 13a2e5aeef7..ccc1df04ff7 100644 --- a/src/test/ui/issue-31221.stderr +++ b/src/test/ui/issue-31221.stderr @@ -1,7 +1,7 @@ error: unreachable pattern - --> $DIR/issue-31221.rs:30:9 + --> $DIR/issue-31221.rs:28:9 | -30 | Var2 => (), +28 | Var2 => (), | ^^^^ this is an unreachable pattern | note: lint level defined here @@ -10,33 +10,33 @@ note: lint level defined here 14 | #![deny(unreachable_patterns)] | ^^^^^^^^^^^^^^^^^^^^ note: this pattern matches any value - --> $DIR/issue-31221.rs:28:9 + --> $DIR/issue-31221.rs:27:9 | -28 | Var3 => (), +27 | Var3 => (), | ^^^^ error: unreachable pattern - --> $DIR/issue-31221.rs:38:9 + --> $DIR/issue-31221.rs:34:9 | -38 | &Var2 => (), +34 | &Var2 => (), | ^^^^^ this is an unreachable pattern | note: this pattern matches any value - --> $DIR/issue-31221.rs:36:9 + --> $DIR/issue-31221.rs:33:9 | -36 | &Var3 => (), +33 | &Var3 => (), | ^^^^^ error: unreachable pattern - --> $DIR/issue-31221.rs:47:9 + --> $DIR/issue-31221.rs:41:9 | -47 | anything => () +41 | anything => () | ^^^^^^^^ this is an unreachable pattern | note: this pattern matches any value - --> $DIR/issue-31221.rs:45:9 + --> $DIR/issue-31221.rs:40:9 | -45 | (c, d) => (), +40 | (c, d) => (), | ^^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/issue-32326.rs b/src/test/ui/issue-32326.rs index 70a7cd8b970..8af243afc22 100644 --- a/src/test/ui/issue-32326.rs +++ b/src/test/ui/issue-32326.rs @@ -13,10 +13,7 @@ // too big. enum Expr { //~ ERROR E0072 - //~| NOTE recursive type has infinite size Plus(Expr, Expr), - //~^ NOTE recursive without indirection - //~| NOTE recursive without indirection Literal(i64), } diff --git a/src/test/ui/issue-32326.stderr b/src/test/ui/issue-32326.stderr index 79110a05475..f907e3adaf1 100644 --- a/src/test/ui/issue-32326.stderr +++ b/src/test/ui/issue-32326.stderr @@ -3,8 +3,7 @@ error[E0072]: recursive type `Expr` has infinite size | 15 | enum Expr { //~ ERROR E0072 | ^^^^^^^^^ recursive type has infinite size -16 | //~| NOTE recursive type has infinite size -17 | Plus(Expr, Expr), +16 | Plus(Expr, Expr), | ----- ----- recursive without indirection | | | recursive without indirection diff --git a/src/test/ui/issue-32950.rs b/src/test/ui/issue-32950.rs index 20e5b1d72d3..4e5cdd50b2a 100644 --- a/src/test/ui/issue-32950.rs +++ b/src/test/ui/issue-32950.rs @@ -10,7 +10,7 @@ #![feature(concat_idents)] -#[derive(Debug)] //~ NOTE in this expansion +#[derive(Debug)] struct Baz<T>( concat_idents!(Foo, Bar) //~ ERROR `derive` cannot be used on items with type macros ); diff --git a/src/test/ui/issue-34047.rs b/src/test/ui/issue-34047.rs index 630694d9156..db284102503 100644 --- a/src/test/ui/issue-34047.rs +++ b/src/test/ui/issue-34047.rs @@ -8,12 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -const C: u8 = 0; //~ NOTE a constant `C` is defined here +const C: u8 = 0; fn main() { match 1u8 { mut C => {} //~ ERROR match bindings cannot shadow constants - //~^ NOTE cannot be named the same as a constant _ => {} } } diff --git a/src/test/ui/issue-34047.stderr b/src/test/ui/issue-34047.stderr index d2e1826b634..0c109bffb24 100644 --- a/src/test/ui/issue-34047.stderr +++ b/src/test/ui/issue-34047.stderr @@ -1,7 +1,7 @@ error[E0530]: match bindings cannot shadow constants --> $DIR/issue-34047.rs:15:13 | -11 | const C: u8 = 0; //~ NOTE a constant `C` is defined here +11 | const C: u8 = 0; | ---------------- a constant `C` is defined here ... 15 | mut C => {} //~ ERROR match bindings cannot shadow constants diff --git a/src/test/ui/issue-34209.rs b/src/test/ui/issue-34209.rs index 5e3b777cc0b..b3cb7d4cc30 100644 --- a/src/test/ui/issue-34209.rs +++ b/src/test/ui/issue-34209.rs @@ -16,8 +16,6 @@ fn bug(l: S) { match l { S::B{ } => { }, //~^ ERROR ambiguous associated type - //~| NOTE ambiguous associated type - //~| NOTE specify the type using the syntax `<S as Trait>::B` } } diff --git a/src/test/ui/issue-35139.rs b/src/test/ui/issue-35139.rs index 5c4f161a500..67f0e7aaf97 100644 --- a/src/test/ui/issue-35139.rs +++ b/src/test/ui/issue-35139.rs @@ -17,7 +17,6 @@ pub trait MethodType { pub struct MTFn; impl<'a> MethodType for MTFn { //~ ERROR E0207 - //~| NOTE unconstrained lifetime parameter type GetProp = fmt::Debug + 'a; } diff --git a/src/test/ui/issue-35675.rs b/src/test/ui/issue-35675.rs index ee9d1324cdb..f3495468151 100644 --- a/src/test/ui/issue-35675.rs +++ b/src/test/ui/issue-35675.rs @@ -9,49 +9,34 @@ // except according to those terms. // these two HELPs are actually in a new line between this line and the `enum Fruit` line -enum Fruit { //~ HELP possible candidate is found in another module, you can import it into scope - //~^ HELP possible candidate is found in another module, you can import it into scope +enum Fruit { Apple(i64), Orange(i64), } fn should_return_fruit() -> Apple { //~^ ERROR cannot find type `Apple` in this scope - //~| NOTE not found in this scope - //~| HELP you can try using the variant's enum Apple(5) //~^ ERROR cannot find function `Apple` in this scope - //~| NOTE not found in this scope } fn should_return_fruit_too() -> Fruit::Apple { //~^ ERROR expected type, found variant `Fruit::Apple` - //~| NOTE not a type - //~| HELP you can try using the variant's enum Apple(5) //~^ ERROR cannot find function `Apple` in this scope - //~| NOTE not found in this scope } fn foo() -> Ok { //~^ ERROR expected type, found variant `Ok` - //~| NOTE not a type - //~| HELP there is an enum variant - //~| HELP there is an enum variant Ok(()) } fn bar() -> Variant3 { //~^ ERROR cannot find type `Variant3` in this scope - //~| NOTE not found in this scope - //~| HELP you can try using the variant's enum } fn qux() -> Some { //~^ ERROR expected type, found variant `Some` - //~| NOTE not a type - //~| HELP there is an enum variant - //~| HELP there is an enum variant Some(1) } diff --git a/src/test/ui/issue-35675.stderr b/src/test/ui/issue-35675.stderr index 550e094dc51..c4d0e51c07e 100644 --- a/src/test/ui/issue-35675.stderr +++ b/src/test/ui/issue-35675.stderr @@ -1,16 +1,16 @@ error[E0412]: cannot find type `Apple` in this scope - --> $DIR/issue-35675.rs:18:29 + --> $DIR/issue-35675.rs:17:29 | -18 | fn should_return_fruit() -> Apple { +17 | fn should_return_fruit() -> Apple { | ^^^^^ | | | not found in this scope | help: you can try using the variant's enum: `Fruit` error[E0425]: cannot find function `Apple` in this scope - --> $DIR/issue-35675.rs:22:5 + --> $DIR/issue-35675.rs:19:5 | -22 | Apple(5) +19 | Apple(5) | ^^^^^ not found in this scope help: possible candidate is found in another module, you can import it into scope | @@ -18,18 +18,18 @@ help: possible candidate is found in another module, you can import it into scop | error[E0573]: expected type, found variant `Fruit::Apple` - --> $DIR/issue-35675.rs:27:33 + --> $DIR/issue-35675.rs:23:33 | -27 | fn should_return_fruit_too() -> Fruit::Apple { +23 | fn should_return_fruit_too() -> Fruit::Apple { | ^^^^^^^^^^^^ | | | not a type | help: you can try using the variant's enum: `Fruit` error[E0425]: cannot find function `Apple` in this scope - --> $DIR/issue-35675.rs:31:5 + --> $DIR/issue-35675.rs:25:5 | -31 | Apple(5) +25 | Apple(5) | ^^^^^ not found in this scope help: possible candidate is found in another module, you can import it into scope | @@ -37,27 +37,27 @@ help: possible candidate is found in another module, you can import it into scop | error[E0573]: expected type, found variant `Ok` - --> $DIR/issue-35675.rs:36:13 + --> $DIR/issue-35675.rs:29:13 | -36 | fn foo() -> Ok { +29 | fn foo() -> Ok { | ^^ not a type | = help: there is an enum variant `std::prelude::v1::Ok`, try using `std::prelude::v1`? = help: there is an enum variant `std::result::Result::Ok`, try using `std::result::Result`? error[E0412]: cannot find type `Variant3` in this scope - --> $DIR/issue-35675.rs:44:13 + --> $DIR/issue-35675.rs:34:13 | -44 | fn bar() -> Variant3 { +34 | fn bar() -> Variant3 { | ^^^^^^^^ | | | not found in this scope | help: you can try using the variant's enum: `x::Enum` error[E0573]: expected type, found variant `Some` - --> $DIR/issue-35675.rs:50:13 + --> $DIR/issue-35675.rs:38:13 | -50 | fn qux() -> Some { +38 | fn qux() -> Some { | ^^^^ not a type | = help: there is an enum variant `std::prelude::v1::Option::Some`, try using `std::prelude::v1::Option`? diff --git a/src/test/ui/issue-35869.rs b/src/test/ui/issue-35869.rs index 1942fd38d11..17ee62aed1b 100644 --- a/src/test/ui/issue-35869.rs +++ b/src/test/ui/issue-35869.rs @@ -11,10 +11,10 @@ #![feature(conservative_impl_trait)] trait Foo { - fn foo(_: fn(u8) -> ()); //~ NOTE type in trait - fn bar(_: Option<u8>); //~ NOTE type in trait - fn baz(_: (u8, u16)); //~ NOTE type in trait - fn qux() -> u8; //~ NOTE type in trait + fn foo(_: fn(u8) -> ()); + fn bar(_: Option<u8>); + fn baz(_: (u8, u16)); + fn qux() -> u8; } struct Bar; @@ -22,20 +22,12 @@ struct Bar; impl Foo for Bar { fn foo(_: fn(u16) -> ()) {} //~^ ERROR method `foo` has an incompatible type for trait - //~| NOTE expected u8 - //~| NOTE expected type `fn(fn(u8))` fn bar(_: Option<u16>) {} //~^ ERROR method `bar` has an incompatible type for trait - //~| NOTE expected u8 - //~| NOTE expected type `fn(std::option::Option<u8>)` fn baz(_: (u16, u16)) {} //~^ ERROR method `baz` has an incompatible type for trait - //~| NOTE expected u8 - //~| NOTE expected type `fn((u8, u16))` fn qux() -> u16 { 5u16 } //~^ ERROR method `qux` has an incompatible type for trait - //~| NOTE expected u8 - //~| NOTE expected type `fn() -> u8` } fn main() {} diff --git a/src/test/ui/issue-35869.stderr b/src/test/ui/issue-35869.stderr index cd79f8912ba..5d2772b06a2 100644 --- a/src/test/ui/issue-35869.stderr +++ b/src/test/ui/issue-35869.stderr @@ -1,7 +1,7 @@ error[E0053]: method `foo` has an incompatible type for trait --> $DIR/issue-35869.rs:23:15 | -14 | fn foo(_: fn(u8) -> ()); //~ NOTE type in trait +14 | fn foo(_: fn(u8) -> ()); | ------------ type in trait ... 23 | fn foo(_: fn(u16) -> ()) {} @@ -11,36 +11,36 @@ error[E0053]: method `foo` has an incompatible type for trait found type `fn(fn(u16))` error[E0053]: method `bar` has an incompatible type for trait - --> $DIR/issue-35869.rs:27:15 + --> $DIR/issue-35869.rs:25:15 | -15 | fn bar(_: Option<u8>); //~ NOTE type in trait +15 | fn bar(_: Option<u8>); | ---------- type in trait ... -27 | fn bar(_: Option<u16>) {} +25 | fn bar(_: Option<u16>) {} | ^^^^^^^^^^^ expected u8, found u16 | = note: expected type `fn(std::option::Option<u8>)` found type `fn(std::option::Option<u16>)` error[E0053]: method `baz` has an incompatible type for trait - --> $DIR/issue-35869.rs:31:15 + --> $DIR/issue-35869.rs:27:15 | -16 | fn baz(_: (u8, u16)); //~ NOTE type in trait +16 | fn baz(_: (u8, u16)); | --------- type in trait ... -31 | fn baz(_: (u16, u16)) {} +27 | fn baz(_: (u16, u16)) {} | ^^^^^^^^^^ expected u8, found u16 | = note: expected type `fn((u8, u16))` found type `fn((u16, u16))` error[E0053]: method `qux` has an incompatible type for trait - --> $DIR/issue-35869.rs:35:17 + --> $DIR/issue-35869.rs:29:17 | -17 | fn qux() -> u8; //~ NOTE type in trait +17 | fn qux() -> u8; | -- type in trait ... -35 | fn qux() -> u16 { 5u16 } +29 | fn qux() -> u16 { 5u16 } | ^^^ expected u8, found u16 | = note: expected type `fn() -> u8` diff --git a/src/test/ui/issue-36163.rs b/src/test/ui/issue-36163.rs index 9dad6ede776..2337f82afa4 100644 --- a/src/test/ui/issue-36163.rs +++ b/src/test/ui/issue-36163.rs @@ -9,16 +9,13 @@ // except according to those terms. const A: i32 = Foo::B; //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant enum Foo { B = A, //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant } enum Bar { C = Bar::C, //~ ERROR E0265 - //~^ NOTE recursion not allowed in constant } const D: i32 = A; diff --git a/src/test/ui/issue-36163.stderr b/src/test/ui/issue-36163.stderr index 79267bdbeed..5a107d88f2e 100644 --- a/src/test/ui/issue-36163.stderr +++ b/src/test/ui/issue-36163.stderr @@ -5,15 +5,15 @@ error[E0265]: recursive constant | ^^^^^^^^^^^^^^^^^^^^^^ recursion not allowed in constant error[E0265]: recursive constant - --> $DIR/issue-36163.rs:15:9 + --> $DIR/issue-36163.rs:14:9 | -15 | B = A, //~ ERROR E0265 +14 | B = A, //~ ERROR E0265 | ^ recursion not allowed in constant error[E0265]: recursive constant - --> $DIR/issue-36163.rs:20:9 + --> $DIR/issue-36163.rs:18:9 | -20 | C = Bar::C, //~ ERROR E0265 +18 | C = Bar::C, //~ ERROR E0265 | ^^^^^^ recursion not allowed in constant error: aborting due to 3 previous errors diff --git a/src/test/ui/issue-36708.rs b/src/test/ui/issue-36708.rs index 6146258fa8d..92a724a7e96 100644 --- a/src/test/ui/issue-36708.rs +++ b/src/test/ui/issue-36708.rs @@ -17,7 +17,6 @@ struct Bar; impl lib::Foo for Bar { fn foo<T>() {} //~^ ERROR E0049 - //~| NOTE found 1 type parameter, expected 0 } fn main() {} diff --git a/src/test/ui/issue-3779.rs b/src/test/ui/issue-3779.rs index 10f73dc0862..7490960da36 100644 --- a/src/test/ui/issue-3779.rs +++ b/src/test/ui/issue-3779.rs @@ -10,9 +10,7 @@ struct S { //~^ ERROR E0072 - //~| NOTE recursive type has infinite size element: Option<S> - //~^ NOTE recursive without indirection } fn main() { diff --git a/src/test/ui/issue-3779.stderr b/src/test/ui/issue-3779.stderr index 18f2726b63b..538304803b4 100644 --- a/src/test/ui/issue-3779.stderr +++ b/src/test/ui/issue-3779.stderr @@ -3,8 +3,8 @@ error[E0072]: recursive type `S` has infinite size | 11 | struct S { | ^^^^^^^^ recursive type has infinite size -... -14 | element: Option<S> +12 | //~^ ERROR E0072 +13 | element: Option<S> | ------------------ recursive without indirection | = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `S` representable diff --git a/src/test/ui/issue-37884.rs b/src/test/ui/issue-37884.rs index 6313293bf2b..ea6403a3eef 100644 --- a/src/test/ui/issue-37884.rs +++ b/src/test/ui/issue-37884.rs @@ -11,14 +11,11 @@ struct RepeatMut<'a, T>(T, &'a ()); impl<'a, T: 'a> Iterator for RepeatMut<'a, T> { - //~^ NOTE ...does not necessarily outlive the lifetime 'a as defined on the impl type Item = &'a mut T; fn next(&'a mut self) -> Option<Self::Item> //~^ ERROR method not compatible with trait //~| lifetime mismatch - //~| NOTE expected type `fn(&mut RepeatMut<'a, T>) -> std::option::Option<&mut T>` - //~| NOTE the anonymous lifetime #1 defined on the method body { Some(&mut self.0) } diff --git a/src/test/ui/issue-37884.stderr b/src/test/ui/issue-37884.stderr index b101adfdd7c..439b123975f 100644 --- a/src/test/ui/issue-37884.stderr +++ b/src/test/ui/issue-37884.stderr @@ -1,38 +1,36 @@ error[E0308]: method not compatible with trait - --> $DIR/issue-37884.rs:17:5 + --> $DIR/issue-37884.rs:16:5 | -17 | / fn next(&'a mut self) -> Option<Self::Item> -18 | | //~^ ERROR method not compatible with trait -19 | | //~| lifetime mismatch -20 | | //~| NOTE expected type `fn(&mut RepeatMut<'a, T>) -> std::option::Option<&mut T>` -... | -23 | | Some(&mut self.0) -24 | | } +16 | / fn next(&'a mut self) -> Option<Self::Item> +17 | | //~^ ERROR method not compatible with trait +18 | | //~| lifetime mismatch +19 | | { +20 | | Some(&mut self.0) +21 | | } | |_____^ lifetime mismatch | = note: expected type `fn(&mut RepeatMut<'a, T>) -> std::option::Option<&mut T>` found type `fn(&'a mut RepeatMut<'a, T>) -> std::option::Option<&mut T>` -note: the anonymous lifetime #1 defined on the method body at 17:5... - --> $DIR/issue-37884.rs:17:5 +note: the anonymous lifetime #1 defined on the method body at 16:5... + --> $DIR/issue-37884.rs:16:5 | -17 | / fn next(&'a mut self) -> Option<Self::Item> -18 | | //~^ ERROR method not compatible with trait -19 | | //~| lifetime mismatch -20 | | //~| NOTE expected type `fn(&mut RepeatMut<'a, T>) -> std::option::Option<&mut T>` -... | -23 | | Some(&mut self.0) -24 | | } +16 | / fn next(&'a mut self) -> Option<Self::Item> +17 | | //~^ ERROR method not compatible with trait +18 | | //~| lifetime mismatch +19 | | { +20 | | Some(&mut self.0) +21 | | } | |_____^ note: ...does not necessarily outlive the lifetime 'a as defined on the impl at 13:1 --> $DIR/issue-37884.rs:13:1 | 13 | / impl<'a, T: 'a> Iterator for RepeatMut<'a, T> { -14 | | //~^ NOTE ...does not necessarily outlive the lifetime 'a as defined on the impl -15 | | -16 | | type Item = &'a mut T; +14 | | +15 | | type Item = &'a mut T; +16 | | fn next(&'a mut self) -> Option<Self::Item> ... | -24 | | } -25 | | } +21 | | } +22 | | } | |_^ error: aborting due to previous error diff --git a/src/test/ui/issue-41652/issue_41652.rs b/src/test/ui/issue-41652/issue_41652.rs index 1874ee6cd3a..f38c682d319 100644 --- a/src/test/ui/issue-41652/issue_41652.rs +++ b/src/test/ui/issue-41652/issue_41652.rs @@ -18,8 +18,6 @@ impl issue_41652_b::Tr for S { fn f() { 3.f() //~^ ERROR no method named `f` found for type `{integer}` in the current scope - //~| NOTE found the following associated functions - //~| NOTE candidate #1 is defined in the trait `issue_41652_b::Tr` } } diff --git a/src/test/ui/issue-4335.rs b/src/test/ui/issue-4335.rs index c5aae894c3e..540504eb07e 100644 --- a/src/test/ui/issue-4335.rs +++ b/src/test/ui/issue-4335.rs @@ -15,10 +15,7 @@ fn id<T>(t: T) -> T { t } fn f<'r, T>(v: &'r T) -> Box<FnMut() -> T + 'r> { id(Box::new(|| *v)) //~^ ERROR E0373 - //~| NOTE `v` is borrowed here - //~| NOTE may outlive borrowed value `v` //~| ERROR E0507 - //~| NOTE cannot move out of borrowed content } fn main() { diff --git a/src/test/ui/issue-4935.rs b/src/test/ui/issue-4935.rs index e9f8367378a..5b6e2c75a1c 100644 --- a/src/test/ui/issue-4935.rs +++ b/src/test/ui/issue-4935.rs @@ -14,4 +14,3 @@ fn foo(a: usize) {} //~^ defined here fn main() { foo(5, 6) } //~^ ERROR this function takes 1 parameter but 2 parameters were supplied -//~| NOTE expected 1 parameter diff --git a/src/test/ui/issue-5239-1.rs b/src/test/ui/issue-5239-1.rs index a77b27150d7..f88b6931344 100644 --- a/src/test/ui/issue-5239-1.rs +++ b/src/test/ui/issue-5239-1.rs @@ -13,5 +13,4 @@ fn main() { let x = |ref x: isize| { x += 1; }; //~^ ERROR E0368 - //~| NOTE cannot use `+=` on type `&isize` } diff --git a/src/test/ui/issue-6458-3.rs b/src/test/ui/issue-6458-3.rs index 1503da2baa7..038f6043fa6 100644 --- a/src/test/ui/issue-6458-3.rs +++ b/src/test/ui/issue-6458-3.rs @@ -13,5 +13,4 @@ use std::mem; fn main() { mem::transmute(0); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `U` } diff --git a/src/test/ui/issue-6458-4.rs b/src/test/ui/issue-6458-4.rs index a078cdea4ac..45934d03ed4 100644 --- a/src/test/ui/issue-6458-4.rs +++ b/src/test/ui/issue-6458-4.rs @@ -9,7 +9,7 @@ // except according to those terms. fn foo(b: bool) -> Result<bool,String> { //~ ERROR mismatched types - Err("bar".to_string()); //~ HELP consider removing this semicolon + Err("bar".to_string()); } fn main() { diff --git a/src/test/ui/issue-6458-4.stderr b/src/test/ui/issue-6458-4.stderr index acb9b218df4..6cc1edcd9fa 100644 --- a/src/test/ui/issue-6458-4.stderr +++ b/src/test/ui/issue-6458-4.stderr @@ -3,7 +3,7 @@ error[E0308]: mismatched types | 11 | fn foo(b: bool) -> Result<bool,String> { //~ ERROR mismatched types | ________________________________________^ -12 | | Err("bar".to_string()); //~ HELP consider removing this semicolon +12 | | Err("bar".to_string()); | | - help: consider removing this semicolon 13 | | } | |_^ expected enum `std::result::Result`, found () diff --git a/src/test/ui/issue-6458.rs b/src/test/ui/issue-6458.rs index db4d4e76c11..b4e7c0c40cf 100644 --- a/src/test/ui/issue-6458.rs +++ b/src/test/ui/issue-6458.rs @@ -18,7 +18,6 @@ pub fn foo<State>(_: TypeWithState<State>) {} pub fn bar() { foo(TypeWithState(marker::PhantomData)); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `State` } fn main() { diff --git a/src/test/ui/issue-7813.rs b/src/test/ui/issue-7813.rs index a5f001b785c..39a87bfaf74 100644 --- a/src/test/ui/issue-7813.rs +++ b/src/test/ui/issue-7813.rs @@ -10,7 +10,5 @@ fn main() { let v = &[]; //~ ERROR type annotations needed - //~| NOTE consider giving `v` a type - //~| NOTE cannot infer type for `_` let it = v.iter(); } diff --git a/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.rs b/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.rs index 2d9de57a265..a5fada7869e 100644 --- a/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.rs +++ b/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.rs @@ -10,14 +10,11 @@ // Lifetime annotation needed because we have no arguments. fn f() -> &isize { //~ ERROR missing lifetime specifier -//~^ HELP there is no value for it to be borrowed from -//~| HELP consider giving it a 'static lifetime panic!() } // Lifetime annotation needed because we have two by-reference parameters. fn g(_x: &isize, _y: &isize) -> &isize { //~ ERROR missing lifetime specifier -//~^ HELP the signature does not say whether it is borrowed from `_x` or `_y` panic!() } @@ -28,13 +25,10 @@ struct Foo<'a> { // Lifetime annotation needed because we have two lifetimes: one as a parameter // and one on the reference. fn h(_x: &Foo) -> &isize { //~ ERROR missing lifetime specifier -//~^ HELP the signature does not say which one of `_x`'s 2 lifetimes it is borrowed from panic!() } fn i(_x: isize) -> &isize { //~ ERROR missing lifetime specifier -//~^ HELP this function's return type contains a borrowed value -//~| HELP consider giving it an explicit bounded or 'static lifetime panic!() } @@ -48,8 +42,6 @@ trait WithLifetime<'a> { // This worked because the type of the first argument contains // 'static, although StaticStr doesn't even have parameters. fn j(_x: StaticStr) -> &isize { //~ ERROR missing lifetime specifier -//~^ HELP this function's return type contains a borrowed value -//~| HELP consider giving it an explicit bounded or 'static lifetime panic!() } @@ -57,8 +49,6 @@ fn j(_x: StaticStr) -> &isize { //~ ERROR missing lifetime specifier // to <T as WithLifetime<'a>>::Output which has the hidden 'a. fn k<'a, T: WithLifetime<'a>>(_x: T::Output) -> &isize { //~^ ERROR missing lifetime specifier -//~| HELP this function's return type contains a borrowed value -//~| HELP consider giving it an explicit bounded or 'static lifetime panic!() } diff --git a/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.stderr b/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.stderr index 3e67d9ab11b..f91b286bc4a 100644 --- a/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.stderr +++ b/src/test/ui/lifetime-elision-return-type-requires-explicit-lifetime.stderr @@ -8,43 +8,43 @@ error[E0106]: missing lifetime specifier = help: consider giving it a 'static lifetime error[E0106]: missing lifetime specifier - --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:19:33 + --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:17:33 | -19 | fn g(_x: &isize, _y: &isize) -> &isize { //~ ERROR missing lifetime specifier +17 | fn g(_x: &isize, _y: &isize) -> &isize { //~ ERROR missing lifetime specifier | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `_x` or `_y` error[E0106]: missing lifetime specifier - --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:30:19 + --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:27:19 | -30 | fn h(_x: &Foo) -> &isize { //~ ERROR missing lifetime specifier +27 | fn h(_x: &Foo) -> &isize { //~ ERROR missing lifetime specifier | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value, but the signature does not say which one of `_x`'s 2 lifetimes it is borrowed from error[E0106]: missing lifetime specifier - --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:35:20 + --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:31:20 | -35 | fn i(_x: isize) -> &isize { //~ ERROR missing lifetime specifier +31 | fn i(_x: isize) -> &isize { //~ ERROR missing lifetime specifier | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments = help: consider giving it an explicit bounded or 'static lifetime error[E0106]: missing lifetime specifier - --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:50:24 + --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:44:24 | -50 | fn j(_x: StaticStr) -> &isize { //~ ERROR missing lifetime specifier +44 | fn j(_x: StaticStr) -> &isize { //~ ERROR missing lifetime specifier | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments = help: consider giving it an explicit bounded or 'static lifetime error[E0106]: missing lifetime specifier - --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:58:49 + --> $DIR/lifetime-elision-return-type-requires-explicit-lifetime.rs:50:49 | -58 | fn k<'a, T: WithLifetime<'a>>(_x: T::Output) -> &isize { +50 | fn k<'a, T: WithLifetime<'a>>(_x: T::Output) -> &isize { | ^ expected lifetime parameter | = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments diff --git a/src/test/ui/lint-forbid-attr.rs b/src/test/ui/lint-forbid-attr.rs index a23083b5c8c..65e01600c10 100644 --- a/src/test/ui/lint-forbid-attr.rs +++ b/src/test/ui/lint-forbid-attr.rs @@ -9,10 +9,8 @@ // except according to those terms. #![forbid(deprecated)] -//~^ NOTE `forbid` level set here #[allow(deprecated)] //~^ ERROR allow(deprecated) overruled by outer forbid(deprecated) -//~| NOTE overruled by previous forbid fn main() { } diff --git a/src/test/ui/lint-forbid-attr.stderr b/src/test/ui/lint-forbid-attr.stderr index e2ecb6a201e..dcef7fb9ac0 100644 --- a/src/test/ui/lint-forbid-attr.stderr +++ b/src/test/ui/lint-forbid-attr.stderr @@ -1,10 +1,10 @@ error[E0453]: allow(deprecated) overruled by outer forbid(deprecated) - --> $DIR/lint-forbid-attr.rs:14:9 + --> $DIR/lint-forbid-attr.rs:13:9 | 11 | #![forbid(deprecated)] | ---------- `forbid` level set here -... -14 | #[allow(deprecated)] +12 | +13 | #[allow(deprecated)] | ^^^^^^^^^^ overruled by previous forbid error: aborting due to previous error diff --git a/src/test/ui/lint-output-format-2.rs b/src/test/ui/lint-output-format-2.rs index 29d7c6caec4..5cd0084901f 100644 --- a/src/test/ui/lint-output-format-2.rs +++ b/src/test/ui/lint-output-format-2.rs @@ -19,7 +19,6 @@ extern crate lint_output_format; use lint_output_format::{foo, bar}; //~^ WARNING use of deprecated item 'lint_output_format::foo': text -//~| NOTE #[warn(deprecated)] on by default #[rustc_error] fn main() { //~ ERROR: compilation successful diff --git a/src/test/ui/lint-output-format-2.stderr b/src/test/ui/lint-output-format-2.stderr index b68eced0c1a..d8c67c760db 100644 --- a/src/test/ui/lint-output-format-2.stderr +++ b/src/test/ui/lint-output-format-2.stderr @@ -7,18 +7,18 @@ warning: use of deprecated item 'lint_output_format::foo': text = note: #[warn(deprecated)] on by default warning: use of deprecated item 'lint_output_format::foo': text - --> $DIR/lint-output-format-2.rs:26:14 + --> $DIR/lint-output-format-2.rs:25:14 | -26 | let _x = foo(); +25 | let _x = foo(); | ^^^ error: compilation successful - --> $DIR/lint-output-format-2.rs:25:1 + --> $DIR/lint-output-format-2.rs:24:1 | -25 | / fn main() { //~ ERROR: compilation successful -26 | | let _x = foo(); -27 | | //~^ WARNING use of deprecated item 'lint_output_format::foo': text -28 | | let _y = bar(); -29 | | } +24 | / fn main() { //~ ERROR: compilation successful +25 | | let _x = foo(); +26 | | //~^ WARNING use of deprecated item 'lint_output_format::foo': text +27 | | let _y = bar(); +28 | | } | |_^ diff --git a/src/test/ui/lint-unconditional-recursion.rs b/src/test/ui/lint-unconditional-recursion.rs index bee5a2c45be..bfc144615a2 100644 --- a/src/test/ui/lint-unconditional-recursion.rs +++ b/src/test/ui/lint-unconditional-recursion.rs @@ -9,11 +9,10 @@ // except according to those terms. #![deny(unconditional_recursion)] -//~^ NOTE lint level defined here #![allow(dead_code)] fn foo() { //~ ERROR function cannot return without recurring - foo(); //~ NOTE recursive call site + foo(); } fn bar() { @@ -24,9 +23,9 @@ fn bar() { fn baz() { //~ ERROR function cannot return without recurring if true { - baz() //~ NOTE recursive call site + baz() } else { - baz() //~ NOTE recursive call site + baz() } } @@ -36,24 +35,24 @@ fn qux() { fn quz() -> bool { //~ ERROR function cannot return without recurring if true { - while quz() {} //~ NOTE recursive call site + while quz() {} true } else { - loop { quz(); } //~ NOTE recursive call site + loop { quz(); } } } // Trait method calls. trait Foo { fn bar(&self) { //~ ERROR function cannot return without recurring - self.bar() //~ NOTE recursive call site + self.bar() } } impl Foo for Box<Foo+'static> { fn bar(&self) { //~ ERROR function cannot return without recurring loop { - self.bar() //~ NOTE recursive call site + self.bar() } } } @@ -61,7 +60,7 @@ impl Foo for Box<Foo+'static> { // Trait method call with integer fallback after method resolution. impl Foo for i32 { fn bar(&self) { //~ ERROR function cannot return without recurring - 0.bar() //~ NOTE recursive call site + 0.bar() } } @@ -74,14 +73,14 @@ impl Foo for u32 { // Trait method calls via paths. trait Foo2 { fn bar(&self) { //~ ERROR function cannot return without recurring - Foo2::bar(self) //~ NOTE recursive call site + Foo2::bar(self) } } impl Foo2 for Box<Foo2+'static> { fn bar(&self) { //~ ERROR function cannot return without recurring loop { - Foo2::bar(self) //~ NOTE recursive call site + Foo2::bar(self) } } } @@ -90,19 +89,19 @@ struct Baz; impl Baz { // Inherent method call. fn qux(&self) { //~ ERROR function cannot return without recurring - self.qux(); //~ NOTE recursive call site + self.qux(); } // Inherent method call via path. fn as_ref(&self) -> &Self { //~ ERROR function cannot return without recurring - Baz::as_ref(self) //~ NOTE recursive call site + Baz::as_ref(self) } } // Trait method calls to impls via paths. impl Default for Baz { fn default() -> Baz { //~ ERROR function cannot return without recurring - let x = Default::default(); //~ NOTE recursive call site + let x = Default::default(); x } } @@ -111,14 +110,14 @@ impl Default for Baz { impl std::ops::Deref for Baz { type Target = (); fn deref(&self) -> &() { //~ ERROR function cannot return without recurring - &**self //~ NOTE recursive call site + &**self } } impl std::ops::Index<usize> for Baz { type Output = Baz; fn index(&self, x: usize) -> &Baz { //~ ERROR function cannot return without recurring - &self[x] //~ NOTE recursive call site + &self[x] } } @@ -127,7 +126,7 @@ struct Quux; impl std::ops::Deref for Quux { type Target = Baz; fn deref(&self) -> &Baz { //~ ERROR function cannot return without recurring - self.as_ref() //~ NOTE recursive call site + self.as_ref() } } diff --git a/src/test/ui/lint-unconditional-recursion.stderr b/src/test/ui/lint-unconditional-recursion.stderr index fc8b9f87d80..40eaab1437f 100644 --- a/src/test/ui/lint-unconditional-recursion.stderr +++ b/src/test/ui/lint-unconditional-recursion.stderr @@ -1,9 +1,9 @@ error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:15:1 + --> $DIR/lint-unconditional-recursion.rs:14:1 | -15 | / fn foo() { //~ ERROR function cannot return without recurring -16 | | foo(); //~ NOTE recursive call site -17 | | } +14 | / fn foo() { //~ ERROR function cannot return without recurring +15 | | foo(); +16 | | } | |_^ | note: lint level defined here @@ -12,227 +12,227 @@ note: lint level defined here 11 | #![deny(unconditional_recursion)] | ^^^^^^^^^^^^^^^^^^^^^^^ note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:16:5 + --> $DIR/lint-unconditional-recursion.rs:15:5 | -16 | foo(); //~ NOTE recursive call site +15 | foo(); | ^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:25:1 - | -25 | / fn baz() { //~ ERROR function cannot return without recurring -26 | | if true { -27 | | baz() //~ NOTE recursive call site -28 | | } else { -29 | | baz() //~ NOTE recursive call site -30 | | } -31 | | } + --> $DIR/lint-unconditional-recursion.rs:24:1 + | +24 | / fn baz() { //~ ERROR function cannot return without recurring +25 | | if true { +26 | | baz() +27 | | } else { +28 | | baz() +29 | | } +30 | | } | |_^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:27:9 + --> $DIR/lint-unconditional-recursion.rs:26:9 | -27 | baz() //~ NOTE recursive call site +26 | baz() | ^^^^^ note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:29:9 + --> $DIR/lint-unconditional-recursion.rs:28:9 | -29 | baz() //~ NOTE recursive call site +28 | baz() | ^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:37:1 + --> $DIR/lint-unconditional-recursion.rs:36:1 | -37 | / fn quz() -> bool { //~ ERROR function cannot return without recurring -38 | | if true { -39 | | while quz() {} //~ NOTE recursive call site -40 | | true +36 | / fn quz() -> bool { //~ ERROR function cannot return without recurring +37 | | if true { +38 | | while quz() {} +39 | | true ... | -43 | | } -44 | | } +42 | | } +43 | | } | |_^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:39:15 + --> $DIR/lint-unconditional-recursion.rs:38:15 | -39 | while quz() {} //~ NOTE recursive call site +38 | while quz() {} | ^^^^^ note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:42:16 + --> $DIR/lint-unconditional-recursion.rs:41:16 | -42 | loop { quz(); } //~ NOTE recursive call site +41 | loop { quz(); } | ^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:48:5 + --> $DIR/lint-unconditional-recursion.rs:47:5 | -48 | / fn bar(&self) { //~ ERROR function cannot return without recurring -49 | | self.bar() //~ NOTE recursive call site -50 | | } +47 | / fn bar(&self) { //~ ERROR function cannot return without recurring +48 | | self.bar() +49 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:49:9 + --> $DIR/lint-unconditional-recursion.rs:48:9 | -49 | self.bar() //~ NOTE recursive call site +48 | self.bar() | ^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:54:5 + --> $DIR/lint-unconditional-recursion.rs:53:5 | -54 | / fn bar(&self) { //~ ERROR function cannot return without recurring -55 | | loop { -56 | | self.bar() //~ NOTE recursive call site -57 | | } -58 | | } +53 | / fn bar(&self) { //~ ERROR function cannot return without recurring +54 | | loop { +55 | | self.bar() +56 | | } +57 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:56:13 + --> $DIR/lint-unconditional-recursion.rs:55:13 | -56 | self.bar() //~ NOTE recursive call site +55 | self.bar() | ^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:63:5 + --> $DIR/lint-unconditional-recursion.rs:62:5 | -63 | / fn bar(&self) { //~ ERROR function cannot return without recurring -64 | | 0.bar() //~ NOTE recursive call site -65 | | } +62 | / fn bar(&self) { //~ ERROR function cannot return without recurring +63 | | 0.bar() +64 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:64:9 + --> $DIR/lint-unconditional-recursion.rs:63:9 | -64 | 0.bar() //~ NOTE recursive call site +63 | 0.bar() | ^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:76:5 + --> $DIR/lint-unconditional-recursion.rs:75:5 | -76 | / fn bar(&self) { //~ ERROR function cannot return without recurring -77 | | Foo2::bar(self) //~ NOTE recursive call site -78 | | } +75 | / fn bar(&self) { //~ ERROR function cannot return without recurring +76 | | Foo2::bar(self) +77 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:77:9 + --> $DIR/lint-unconditional-recursion.rs:76:9 | -77 | Foo2::bar(self) //~ NOTE recursive call site +76 | Foo2::bar(self) | ^^^^^^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:82:5 + --> $DIR/lint-unconditional-recursion.rs:81:5 | -82 | / fn bar(&self) { //~ ERROR function cannot return without recurring -83 | | loop { -84 | | Foo2::bar(self) //~ NOTE recursive call site -85 | | } -86 | | } +81 | / fn bar(&self) { //~ ERROR function cannot return without recurring +82 | | loop { +83 | | Foo2::bar(self) +84 | | } +85 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:84:13 + --> $DIR/lint-unconditional-recursion.rs:83:13 | -84 | Foo2::bar(self) //~ NOTE recursive call site +83 | Foo2::bar(self) | ^^^^^^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:92:5 + --> $DIR/lint-unconditional-recursion.rs:91:5 | -92 | / fn qux(&self) { //~ ERROR function cannot return without recurring -93 | | self.qux(); //~ NOTE recursive call site -94 | | } +91 | / fn qux(&self) { //~ ERROR function cannot return without recurring +92 | | self.qux(); +93 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:93:9 + --> $DIR/lint-unconditional-recursion.rs:92:9 | -93 | self.qux(); //~ NOTE recursive call site +92 | self.qux(); | ^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:97:5 + --> $DIR/lint-unconditional-recursion.rs:96:5 | -97 | / fn as_ref(&self) -> &Self { //~ ERROR function cannot return without recurring -98 | | Baz::as_ref(self) //~ NOTE recursive call site -99 | | } +96 | / fn as_ref(&self) -> &Self { //~ ERROR function cannot return without recurring +97 | | Baz::as_ref(self) +98 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:98:9 + --> $DIR/lint-unconditional-recursion.rs:97:9 | -98 | Baz::as_ref(self) //~ NOTE recursive call site +97 | Baz::as_ref(self) | ^^^^^^^^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:104:5 + --> $DIR/lint-unconditional-recursion.rs:103:5 | -104 | / fn default() -> Baz { //~ ERROR function cannot return without recurring -105 | | let x = Default::default(); //~ NOTE recursive call site -106 | | x -107 | | } +103 | / fn default() -> Baz { //~ ERROR function cannot return without recurring +104 | | let x = Default::default(); +105 | | x +106 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:105:17 + --> $DIR/lint-unconditional-recursion.rs:104:17 | -105 | let x = Default::default(); //~ NOTE recursive call site +104 | let x = Default::default(); | ^^^^^^^^^^^^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:113:5 + --> $DIR/lint-unconditional-recursion.rs:112:5 | -113 | / fn deref(&self) -> &() { //~ ERROR function cannot return without recurring -114 | | &**self //~ NOTE recursive call site -115 | | } +112 | / fn deref(&self) -> &() { //~ ERROR function cannot return without recurring +113 | | &**self +114 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:114:10 + --> $DIR/lint-unconditional-recursion.rs:113:10 | -114 | &**self //~ NOTE recursive call site +113 | &**self | ^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:120:5 + --> $DIR/lint-unconditional-recursion.rs:119:5 | -120 | / fn index(&self, x: usize) -> &Baz { //~ ERROR function cannot return without recurring -121 | | &self[x] //~ NOTE recursive call site -122 | | } +119 | / fn index(&self, x: usize) -> &Baz { //~ ERROR function cannot return without recurring +120 | | &self[x] +121 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:121:10 + --> $DIR/lint-unconditional-recursion.rs:120:10 | -121 | &self[x] //~ NOTE recursive call site +120 | &self[x] | ^^^^^^^ = help: a `loop` may express intention better if this is on purpose error: function cannot return without recurring - --> $DIR/lint-unconditional-recursion.rs:129:5 + --> $DIR/lint-unconditional-recursion.rs:128:5 | -129 | / fn deref(&self) -> &Baz { //~ ERROR function cannot return without recurring -130 | | self.as_ref() //~ NOTE recursive call site -131 | | } +128 | / fn deref(&self) -> &Baz { //~ ERROR function cannot return without recurring +129 | | self.as_ref() +130 | | } | |_____^ | note: recursive call site - --> $DIR/lint-unconditional-recursion.rs:130:9 + --> $DIR/lint-unconditional-recursion.rs:129:9 | -130 | self.as_ref() //~ NOTE recursive call site +129 | self.as_ref() | ^^^^ = help: a `loop` may express intention better if this is on purpose diff --git a/src/test/ui/liveness-return-last-stmt-semi.rs b/src/test/ui/liveness-return-last-stmt-semi.rs index ada91c38d48..663c0275b82 100644 --- a/src/test/ui/liveness-return-last-stmt-semi.rs +++ b/src/test/ui/liveness-return-last-stmt-semi.rs @@ -12,12 +12,11 @@ macro_rules! test { () => { fn foo() -> i32 { 1; } } } //~^ ERROR mismatched types - //~| HELP consider removing this semicolon fn no_return() -> i32 {} //~ ERROR mismatched types fn bar(x: u32) -> u32 { //~ ERROR mismatched types - x * 2; //~ HELP consider removing this semicolon + x * 2; } fn baz(x: u64) -> u32 { //~ ERROR mismatched types diff --git a/src/test/ui/liveness-return-last-stmt-semi.stderr b/src/test/ui/liveness-return-last-stmt-semi.stderr index f27091a115d..2057e14d55f 100644 --- a/src/test/ui/liveness-return-last-stmt-semi.stderr +++ b/src/test/ui/liveness-return-last-stmt-semi.stderr @@ -7,41 +7,41 @@ error[E0308]: mismatched types | | help: consider removing this semicolon | expected i32, found () ... -28 | test!(); +27 | test!(); | -------- in this macro invocation | = note: expected type `i32` found type `()` error[E0308]: mismatched types - --> $DIR/liveness-return-last-stmt-semi.rs:17:23 + --> $DIR/liveness-return-last-stmt-semi.rs:16:23 | -17 | fn no_return() -> i32 {} //~ ERROR mismatched types +16 | fn no_return() -> i32 {} //~ ERROR mismatched types | ^^ expected i32, found () | = note: expected type `i32` found type `()` error[E0308]: mismatched types - --> $DIR/liveness-return-last-stmt-semi.rs:19:23 + --> $DIR/liveness-return-last-stmt-semi.rs:18:23 | -19 | fn bar(x: u32) -> u32 { //~ ERROR mismatched types +18 | fn bar(x: u32) -> u32 { //~ ERROR mismatched types | _______________________^ -20 | | x * 2; //~ HELP consider removing this semicolon +19 | | x * 2; | | - help: consider removing this semicolon -21 | | } +20 | | } | |_^ expected u32, found () | = note: expected type `u32` found type `()` error[E0308]: mismatched types - --> $DIR/liveness-return-last-stmt-semi.rs:23:23 + --> $DIR/liveness-return-last-stmt-semi.rs:22:23 | -23 | fn baz(x: u64) -> u32 { //~ ERROR mismatched types +22 | fn baz(x: u64) -> u32 { //~ ERROR mismatched types | _______________________^ -24 | | x * 2; -25 | | } +23 | | x * 2; +24 | | } | |_^ expected u32, found () | = note: expected type `u32` diff --git a/src/test/ui/loops-reject-duplicate-labels-2.rs b/src/test/ui/loops-reject-duplicate-labels-2.rs index ca18ca3796a..598c7370b89 100644 --- a/src/test/ui/loops-reject-duplicate-labels-2.rs +++ b/src/test/ui/loops-reject-duplicate-labels-2.rs @@ -19,31 +19,23 @@ // https://internals.rust-lang.org/t/psa-rejecting-duplicate-loop-labels/1833 pub fn foo() { - { 'fl: for _ in 0..10 { break; } } //~ NOTE first declared here + { 'fl: for _ in 0..10 { break; } } { 'fl: loop { break; } } //~ WARN label name `'fl` shadows a label name that is already in scope - //~^ NOTE lifetime 'fl already in scope - { 'lf: loop { break; } } //~ NOTE first declared here + { 'lf: loop { break; } } { 'lf: for _ in 0..10 { break; } } //~ WARN label name `'lf` shadows a label name that is already in scope - //~^ NOTE lifetime 'lf already in scope - { 'wl: while 2 > 1 { break; } } //~ NOTE first declared here + { 'wl: while 2 > 1 { break; } } { 'wl: loop { break; } } //~ WARN label name `'wl` shadows a label name that is already in scope - //~^ NOTE lifetime 'wl already in scope - { 'lw: loop { break; } } //~ NOTE first declared here + { 'lw: loop { break; } } { 'lw: while 2 > 1 { break; } } //~ WARN label name `'lw` shadows a label name that is already in scope - //~^ NOTE lifetime 'lw already in scope - { 'fw: for _ in 0..10 { break; } } //~ NOTE first declared here + { 'fw: for _ in 0..10 { break; } } { 'fw: while 2 > 1 { break; } } //~ WARN label name `'fw` shadows a label name that is already in scope - //~^ NOTE lifetime 'fw already in scope - { 'wf: while 2 > 1 { break; } } //~ NOTE first declared here + { 'wf: while 2 > 1 { break; } } { 'wf: for _ in 0..10 { break; } } //~ WARN label name `'wf` shadows a label name that is already in scope - //~^ NOTE lifetime 'wf already in scope - { 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE first declared here + { 'tl: while let Some(_) = None::<i32> { break; } } { 'tl: loop { break; } } //~ WARN label name `'tl` shadows a label name that is already in scope - //~^ NOTE lifetime 'tl already in scope - { 'lt: loop { break; } } //~ NOTE first declared here + { 'lt: loop { break; } } { 'lt: while let Some(_) = None::<i32> { break; } } //~^ WARN label name `'lt` shadows a label name that is already in scope - //~| NOTE lifetime 'lt already in scope } #[rustc_error] diff --git a/src/test/ui/loops-reject-duplicate-labels-2.stderr b/src/test/ui/loops-reject-duplicate-labels-2.stderr index 4bd318d5aa1..488046b71b3 100644 --- a/src/test/ui/loops-reject-duplicate-labels-2.stderr +++ b/src/test/ui/loops-reject-duplicate-labels-2.stderr @@ -1,72 +1,72 @@ warning: label name `'fl` shadows a label name that is already in scope --> $DIR/loops-reject-duplicate-labels-2.rs:23:7 | -22 | { 'fl: for _ in 0..10 { break; } } //~ NOTE first declared here +22 | { 'fl: for _ in 0..10 { break; } } | --- first declared here 23 | { 'fl: loop { break; } } //~ WARN label name `'fl` shadows a label name that is already in scope | ^^^ lifetime 'fl already in scope warning: label name `'lf` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:26:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:25:7 | -25 | { 'lf: loop { break; } } //~ NOTE first declared here +24 | { 'lf: loop { break; } } | --- first declared here -26 | { 'lf: for _ in 0..10 { break; } } //~ WARN label name `'lf` shadows a label name that is already in scope +25 | { 'lf: for _ in 0..10 { break; } } //~ WARN label name `'lf` shadows a label name that is already in scope | ^^^ lifetime 'lf already in scope warning: label name `'wl` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:29:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:27:7 | -28 | { 'wl: while 2 > 1 { break; } } //~ NOTE first declared here +26 | { 'wl: while 2 > 1 { break; } } | --- first declared here -29 | { 'wl: loop { break; } } //~ WARN label name `'wl` shadows a label name that is already in scope +27 | { 'wl: loop { break; } } //~ WARN label name `'wl` shadows a label name that is already in scope | ^^^ lifetime 'wl already in scope warning: label name `'lw` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:32:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:29:7 | -31 | { 'lw: loop { break; } } //~ NOTE first declared here +28 | { 'lw: loop { break; } } | --- first declared here -32 | { 'lw: while 2 > 1 { break; } } //~ WARN label name `'lw` shadows a label name that is already in scope +29 | { 'lw: while 2 > 1 { break; } } //~ WARN label name `'lw` shadows a label name that is already in scope | ^^^ lifetime 'lw already in scope warning: label name `'fw` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:35:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:31:7 | -34 | { 'fw: for _ in 0..10 { break; } } //~ NOTE first declared here +30 | { 'fw: for _ in 0..10 { break; } } | --- first declared here -35 | { 'fw: while 2 > 1 { break; } } //~ WARN label name `'fw` shadows a label name that is already in scope +31 | { 'fw: while 2 > 1 { break; } } //~ WARN label name `'fw` shadows a label name that is already in scope | ^^^ lifetime 'fw already in scope warning: label name `'wf` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:38:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:33:7 | -37 | { 'wf: while 2 > 1 { break; } } //~ NOTE first declared here +32 | { 'wf: while 2 > 1 { break; } } | --- first declared here -38 | { 'wf: for _ in 0..10 { break; } } //~ WARN label name `'wf` shadows a label name that is already in scope +33 | { 'wf: for _ in 0..10 { break; } } //~ WARN label name `'wf` shadows a label name that is already in scope | ^^^ lifetime 'wf already in scope warning: label name `'tl` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:41:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:35:7 | -40 | { 'tl: while let Some(_) = None::<i32> { break; } } //~ NOTE first declared here +34 | { 'tl: while let Some(_) = None::<i32> { break; } } | --- first declared here -41 | { 'tl: loop { break; } } //~ WARN label name `'tl` shadows a label name that is already in scope +35 | { 'tl: loop { break; } } //~ WARN label name `'tl` shadows a label name that is already in scope | ^^^ lifetime 'tl already in scope warning: label name `'lt` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels-2.rs:44:7 + --> $DIR/loops-reject-duplicate-labels-2.rs:37:7 | -43 | { 'lt: loop { break; } } //~ NOTE first declared here +36 | { 'lt: loop { break; } } | --- first declared here -44 | { 'lt: while let Some(_) = None::<i32> { break; } } +37 | { 'lt: while let Some(_) = None::<i32> { break; } } | ^^^ lifetime 'lt already in scope error: compilation successful - --> $DIR/loops-reject-duplicate-labels-2.rs:50:1 + --> $DIR/loops-reject-duplicate-labels-2.rs:42:1 | -50 | / pub fn main() { //~ ERROR compilation successful -51 | | foo(); -52 | | } +42 | / pub fn main() { //~ ERROR compilation successful +43 | | foo(); +44 | | } | |_^ diff --git a/src/test/ui/loops-reject-duplicate-labels.rs b/src/test/ui/loops-reject-duplicate-labels.rs index 31f89493896..d768b002ab1 100644 --- a/src/test/ui/loops-reject-duplicate-labels.rs +++ b/src/test/ui/loops-reject-duplicate-labels.rs @@ -16,32 +16,24 @@ // This is testing the exact cases that are in the issue description. fn foo() { - 'fl: for _ in 0..10 { break; } //~ NOTE first declared here + 'fl: for _ in 0..10 { break; } 'fl: loop { break; } //~ WARN label name `'fl` shadows a label name that is already in scope - //~^ NOTE lifetime 'fl already in scope - 'lf: loop { break; } //~ NOTE first declared here + 'lf: loop { break; } 'lf: for _ in 0..10 { break; } //~ WARN label name `'lf` shadows a label name that is already in scope - //~^ NOTE lifetime 'lf already in scope - 'wl: while 2 > 1 { break; } //~ NOTE first declared here + 'wl: while 2 > 1 { break; } 'wl: loop { break; } //~ WARN label name `'wl` shadows a label name that is already in scope - //~^ NOTE lifetime 'wl already in scope - 'lw: loop { break; } //~ NOTE first declared here + 'lw: loop { break; } 'lw: while 2 > 1 { break; } //~ WARN label name `'lw` shadows a label name that is already in scope - //~^ NOTE lifetime 'lw already in scope - 'fw: for _ in 0..10 { break; } //~ NOTE first declared here + 'fw: for _ in 0..10 { break; } 'fw: while 2 > 1 { break; } //~ WARN label name `'fw` shadows a label name that is already in scope - //~^ NOTE lifetime 'fw already in scope - 'wf: while 2 > 1 { break; } //~ NOTE first declared here + 'wf: while 2 > 1 { break; } 'wf: for _ in 0..10 { break; } //~ WARN label name `'wf` shadows a label name that is already in scope - //~^ NOTE lifetime 'wf already in scope - 'tl: while let Some(_) = None::<i32> { break; } //~ NOTE first declared here + 'tl: while let Some(_) = None::<i32> { break; } 'tl: loop { break; } //~ WARN label name `'tl` shadows a label name that is already in scope - //~^ NOTE lifetime 'tl already in scope - 'lt: loop { break; } //~ NOTE first declared here + 'lt: loop { break; } 'lt: while let Some(_) = None::<i32> { break; } //~^ WARN label name `'lt` shadows a label name that is already in scope - //~| NOTE lifetime 'lt already in scope } // Note however that it is okay for the same label to be reused in diff --git a/src/test/ui/loops-reject-duplicate-labels.stderr b/src/test/ui/loops-reject-duplicate-labels.stderr index f97be84f896..3c287138c92 100644 --- a/src/test/ui/loops-reject-duplicate-labels.stderr +++ b/src/test/ui/loops-reject-duplicate-labels.stderr @@ -1,75 +1,75 @@ warning: label name `'fl` shadows a label name that is already in scope --> $DIR/loops-reject-duplicate-labels.rs:20:5 | -19 | 'fl: for _ in 0..10 { break; } //~ NOTE first declared here +19 | 'fl: for _ in 0..10 { break; } | --- first declared here 20 | 'fl: loop { break; } //~ WARN label name `'fl` shadows a label name that is already in scope | ^^^ lifetime 'fl already in scope warning: label name `'lf` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:24:5 + --> $DIR/loops-reject-duplicate-labels.rs:23:5 | -23 | 'lf: loop { break; } //~ NOTE first declared here +22 | 'lf: loop { break; } | --- first declared here -24 | 'lf: for _ in 0..10 { break; } //~ WARN label name `'lf` shadows a label name that is already in scope +23 | 'lf: for _ in 0..10 { break; } //~ WARN label name `'lf` shadows a label name that is already in scope | ^^^ lifetime 'lf already in scope warning: label name `'wl` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:27:5 + --> $DIR/loops-reject-duplicate-labels.rs:25:5 | -26 | 'wl: while 2 > 1 { break; } //~ NOTE first declared here +24 | 'wl: while 2 > 1 { break; } | --- first declared here -27 | 'wl: loop { break; } //~ WARN label name `'wl` shadows a label name that is already in scope +25 | 'wl: loop { break; } //~ WARN label name `'wl` shadows a label name that is already in scope | ^^^ lifetime 'wl already in scope warning: label name `'lw` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:30:5 + --> $DIR/loops-reject-duplicate-labels.rs:27:5 | -29 | 'lw: loop { break; } //~ NOTE first declared here +26 | 'lw: loop { break; } | --- first declared here -30 | 'lw: while 2 > 1 { break; } //~ WARN label name `'lw` shadows a label name that is already in scope +27 | 'lw: while 2 > 1 { break; } //~ WARN label name `'lw` shadows a label name that is already in scope | ^^^ lifetime 'lw already in scope warning: label name `'fw` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:33:5 + --> $DIR/loops-reject-duplicate-labels.rs:29:5 | -32 | 'fw: for _ in 0..10 { break; } //~ NOTE first declared here +28 | 'fw: for _ in 0..10 { break; } | --- first declared here -33 | 'fw: while 2 > 1 { break; } //~ WARN label name `'fw` shadows a label name that is already in scope +29 | 'fw: while 2 > 1 { break; } //~ WARN label name `'fw` shadows a label name that is already in scope | ^^^ lifetime 'fw already in scope warning: label name `'wf` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:36:5 + --> $DIR/loops-reject-duplicate-labels.rs:31:5 | -35 | 'wf: while 2 > 1 { break; } //~ NOTE first declared here +30 | 'wf: while 2 > 1 { break; } | --- first declared here -36 | 'wf: for _ in 0..10 { break; } //~ WARN label name `'wf` shadows a label name that is already in scope +31 | 'wf: for _ in 0..10 { break; } //~ WARN label name `'wf` shadows a label name that is already in scope | ^^^ lifetime 'wf already in scope warning: label name `'tl` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:39:5 + --> $DIR/loops-reject-duplicate-labels.rs:33:5 | -38 | 'tl: while let Some(_) = None::<i32> { break; } //~ NOTE first declared here +32 | 'tl: while let Some(_) = None::<i32> { break; } | --- first declared here -39 | 'tl: loop { break; } //~ WARN label name `'tl` shadows a label name that is already in scope +33 | 'tl: loop { break; } //~ WARN label name `'tl` shadows a label name that is already in scope | ^^^ lifetime 'tl already in scope warning: label name `'lt` shadows a label name that is already in scope - --> $DIR/loops-reject-duplicate-labels.rs:42:5 + --> $DIR/loops-reject-duplicate-labels.rs:35:5 | -41 | 'lt: loop { break; } //~ NOTE first declared here +34 | 'lt: loop { break; } | --- first declared here -42 | 'lt: while let Some(_) = None::<i32> { break; } +35 | 'lt: while let Some(_) = None::<i32> { break; } | ^^^ lifetime 'lt already in scope error: compilation successful - --> $DIR/loops-reject-duplicate-labels.rs:57:1 + --> $DIR/loops-reject-duplicate-labels.rs:49:1 | -57 | / pub fn main() { //~ ERROR compilation successful -58 | | let s = S; -59 | | s.m1(); -60 | | s.m2(); -61 | | foo(); -62 | | } +49 | / pub fn main() { //~ ERROR compilation successful +50 | | let s = S; +51 | | s.m1(); +52 | | s.m2(); +53 | | foo(); +54 | | } | |_^ diff --git a/src/test/ui/loops-reject-labels-shadowing-lifetimes.rs b/src/test/ui/loops-reject-labels-shadowing-lifetimes.rs index 9a735f9c97c..74da125d575 100644 --- a/src/test/ui/loops-reject-labels-shadowing-lifetimes.rs +++ b/src/test/ui/loops-reject-labels-shadowing-lifetimes.rs @@ -16,10 +16,9 @@ #![allow(dead_code, unused_variables)] fn foo() { - fn foo<'a>() { //~ NOTE first declared here + fn foo<'a>() { 'a: loop { break 'a; } //~^ WARN label name `'a` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'a already in scope } struct Struct<'b, 'c> { _f: &'b i8, _g: &'c i8 } @@ -41,87 +40,75 @@ fn foo() { } } - impl<'bad, 'c> Struct<'bad, 'c> { //~ NOTE first declared here + impl<'bad, 'c> Struct<'bad, 'c> { fn meth_bad(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } - impl<'b, 'bad> Struct<'b, 'bad> { //~ NOTE first declared here + impl<'b, 'bad> Struct<'b, 'bad> { fn meth_bad2(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } impl<'b, 'c> Struct<'b, 'c> { - fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here + fn meth_bad3<'bad>(x: &'bad i8) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } fn meth_bad4<'a,'bad>(x: &'a i8, y: &'bad i8) { - //~^ NOTE first declared here 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } - impl <'bad, 'e> Enum<'bad, 'e> { //~ NOTE first declared here + impl <'bad, 'e> Enum<'bad, 'e> { fn meth_bad(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } - impl <'d, 'bad> Enum<'d, 'bad> { //~ NOTE first declared here + impl <'d, 'bad> Enum<'d, 'bad> { fn meth_bad2(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } impl <'d, 'e> Enum<'d, 'e> { - fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here + fn meth_bad3<'bad>(x: &'bad i8) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } - fn meth_bad4<'a,'bad>(x: &'bad i8) { //~ NOTE first declared here + fn meth_bad4<'a,'bad>(x: &'bad i8) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } - trait HasDefaultMethod1<'bad> { //~ NOTE first declared here + trait HasDefaultMethod1<'bad> { fn meth_okay() { 'c: loop { break 'c; } } fn meth_bad(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } - trait HasDefaultMethod2<'a,'bad> { //~ NOTE first declared here + trait HasDefaultMethod2<'a,'bad> { fn meth_bad(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } trait HasDefaultMethod3<'a,'b> { - fn meth_bad<'bad>(&self) { //~ NOTE first declared here + fn meth_bad<'bad>(&self) { 'bad: loop { break 'bad; } //~^ WARN label name `'bad` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'bad already in scope } } } diff --git a/src/test/ui/loops-reject-labels-shadowing-lifetimes.stderr b/src/test/ui/loops-reject-labels-shadowing-lifetimes.stderr index bd2b439b70f..07dbb68725d 100644 --- a/src/test/ui/loops-reject-labels-shadowing-lifetimes.stderr +++ b/src/test/ui/loops-reject-labels-shadowing-lifetimes.stderr @@ -1,111 +1,110 @@ warning: label name `'a` shadows a lifetime name that is already in scope --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:20:9 | -19 | fn foo<'a>() { //~ NOTE first declared here +19 | fn foo<'a>() { | -- first declared here 20 | 'a: loop { break 'a; } | ^^ lifetime 'a already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:46:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:45:13 | -44 | impl<'bad, 'c> Struct<'bad, 'c> { //~ NOTE first declared here +43 | impl<'bad, 'c> Struct<'bad, 'c> { | ---- first declared here -45 | fn meth_bad(&self) { -46 | 'bad: loop { break 'bad; } +44 | fn meth_bad(&self) { +45 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:54:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:52:13 | -52 | impl<'b, 'bad> Struct<'b, 'bad> { //~ NOTE first declared here +50 | impl<'b, 'bad> Struct<'b, 'bad> { | ---- first declared here -53 | fn meth_bad2(&self) { -54 | 'bad: loop { break 'bad; } +51 | fn meth_bad2(&self) { +52 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:62:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:59:13 | -61 | fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here +58 | fn meth_bad3<'bad>(x: &'bad i8) { | ---- first declared here -62 | 'bad: loop { break 'bad; } +59 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:69:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:64:13 | -67 | fn meth_bad4<'a,'bad>(x: &'a i8, y: &'bad i8) { +63 | fn meth_bad4<'a,'bad>(x: &'a i8, y: &'bad i8) { | ---- first declared here -68 | //~^ NOTE first declared here -69 | 'bad: loop { break 'bad; } +64 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:77:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:71:13 | -75 | impl <'bad, 'e> Enum<'bad, 'e> { //~ NOTE first declared here +69 | impl <'bad, 'e> Enum<'bad, 'e> { | ---- first declared here -76 | fn meth_bad(&self) { -77 | 'bad: loop { break 'bad; } +70 | fn meth_bad(&self) { +71 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:84:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:77:13 | -82 | impl <'d, 'bad> Enum<'d, 'bad> { //~ NOTE first declared here +75 | impl <'d, 'bad> Enum<'d, 'bad> { | ---- first declared here -83 | fn meth_bad2(&self) { -84 | 'bad: loop { break 'bad; } +76 | fn meth_bad2(&self) { +77 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:91:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:83:13 | -90 | fn meth_bad3<'bad>(x: &'bad i8) { //~ NOTE first declared here +82 | fn meth_bad3<'bad>(x: &'bad i8) { | ---- first declared here -91 | 'bad: loop { break 'bad; } +83 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:97:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:88:13 | -96 | fn meth_bad4<'a,'bad>(x: &'bad i8) { //~ NOTE first declared here +87 | fn meth_bad4<'a,'bad>(x: &'bad i8) { | ---- first declared here -97 | 'bad: loop { break 'bad; } +88 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:108:13 - | -103 | trait HasDefaultMethod1<'bad> { //~ NOTE first declared here - | ---- first declared here + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:98:13 + | +93 | trait HasDefaultMethod1<'bad> { + | ---- first declared here ... -108 | 'bad: loop { break 'bad; } - | ^^^^ lifetime 'bad already in scope +98 | 'bad: loop { break 'bad; } + | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:115:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:104:13 | -113 | trait HasDefaultMethod2<'a,'bad> { //~ NOTE first declared here +102 | trait HasDefaultMethod2<'a,'bad> { | ---- first declared here -114 | fn meth_bad(&self) { -115 | 'bad: loop { break 'bad; } +103 | fn meth_bad(&self) { +104 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope warning: label name `'bad` shadows a lifetime name that is already in scope - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:122:13 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:110:13 | -121 | fn meth_bad<'bad>(&self) { //~ NOTE first declared here +109 | fn meth_bad<'bad>(&self) { | ---- first declared here -122 | 'bad: loop { break 'bad; } +110 | 'bad: loop { break 'bad; } | ^^^^ lifetime 'bad already in scope error: compilation successful - --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:130:1 + --> $DIR/loops-reject-labels-shadowing-lifetimes.rs:117:1 | -130 | / pub fn main() { //~ ERROR compilation successful -131 | | foo(); -132 | | } +117 | / pub fn main() { //~ ERROR compilation successful +118 | | foo(); +119 | | } | |_^ diff --git a/src/test/ui/loops-reject-lifetime-shadowing-label.rs b/src/test/ui/loops-reject-lifetime-shadowing-label.rs index 0a90917d975..077e57c9579 100644 --- a/src/test/ui/loops-reject-lifetime-shadowing-label.rs +++ b/src/test/ui/loops-reject-lifetime-shadowing-label.rs @@ -27,10 +27,9 @@ fn foo() { let z = 3_i8; - 'a: loop { //~ NOTE first declared here + 'a: loop { let b = Box::new(|x: &i8| *x) as Box<for <'a> Fn(&'a i8) -> i8>; //~^ WARN lifetime name `'a` shadows a label name that is already in scope - //~| NOTE lifetime 'a already in scope assert_eq!((*b)(&z), z); break 'a; } diff --git a/src/test/ui/loops-reject-lifetime-shadowing-label.stderr b/src/test/ui/loops-reject-lifetime-shadowing-label.stderr index 7671c505e1b..d44b1b7b623 100644 --- a/src/test/ui/loops-reject-lifetime-shadowing-label.stderr +++ b/src/test/ui/loops-reject-lifetime-shadowing-label.stderr @@ -1,16 +1,16 @@ warning: lifetime name `'a` shadows a label name that is already in scope --> $DIR/loops-reject-lifetime-shadowing-label.rs:31:51 | -30 | 'a: loop { //~ NOTE first declared here +30 | 'a: loop { | -- first declared here 31 | let b = Box::new(|x: &i8| *x) as Box<for <'a> Fn(&'a i8) -> i8>; | ^^ lifetime 'a already in scope error: compilation successful - --> $DIR/loops-reject-lifetime-shadowing-label.rs:40:1 + --> $DIR/loops-reject-lifetime-shadowing-label.rs:39:1 | -40 | / pub fn main() { //~ ERROR compilation successful -41 | | foo(); -42 | | } +39 | / pub fn main() { //~ ERROR compilation successful +40 | | foo(); +41 | | } | |_^ diff --git a/src/test/ui/macro-context.rs b/src/test/ui/macro-context.rs index cc714a6e431..56b3d5d0def 100644 --- a/src/test/ui/macro-context.rs +++ b/src/test/ui/macro-context.rs @@ -17,11 +17,11 @@ macro_rules! m { } fn main() { - let a: m!(); //~ NOTE the usage of `m!` is likely invalid in type context - let i = m!(); //~ NOTE the usage of `m!` is likely invalid in expression context + let a: m!(); + let i = m!(); match 0 { - m!() => {} //~ NOTE the usage of `m!` is likely invalid in pattern context + m!() => {} } - m!(); //~ NOTE in this expansion + m!(); } diff --git a/src/test/ui/macro-context.stderr b/src/test/ui/macro-context.stderr index 7eb2016b4e7..37d99913d97 100644 --- a/src/test/ui/macro-context.stderr +++ b/src/test/ui/macro-context.stderr @@ -7,7 +7,7 @@ error: macro expansion ignores token `;` and any following note: caused by the macro expansion here; the usage of `m!` is likely invalid in type context --> $DIR/macro-context.rs:20:12 | -20 | let a: m!(); //~ NOTE the usage of `m!` is likely invalid in type context +20 | let a: m!(); | ^^^^ error: macro expansion ignores token `typeof` and any following @@ -19,7 +19,7 @@ error: macro expansion ignores token `typeof` and any following note: caused by the macro expansion here; the usage of `m!` is likely invalid in expression context --> $DIR/macro-context.rs:21:13 | -21 | let i = m!(); //~ NOTE the usage of `m!` is likely invalid in expression context +21 | let i = m!(); | ^^^^ error: macro expansion ignores token `;` and any following @@ -31,7 +31,7 @@ error: macro expansion ignores token `;` and any following note: caused by the macro expansion here; the usage of `m!` is likely invalid in pattern context --> $DIR/macro-context.rs:23:9 | -23 | m!() => {} //~ NOTE the usage of `m!` is likely invalid in pattern context +23 | m!() => {} | ^^^^ error: expected expression, found reserved keyword `typeof` @@ -40,7 +40,7 @@ error: expected expression, found reserved keyword `typeof` 13 | () => ( i ; typeof ); //~ ERROR expected expression, found reserved keyword `typeof` | ^^^^^^ ... -26 | m!(); //~ NOTE in this expansion +26 | m!(); | ----- in this macro invocation error: aborting due to 4 previous errors diff --git a/src/test/ui/macro-invalid-fragment-spec.rs b/src/test/ui/macro-invalid-fragment-spec.rs index ca6cd664e73..630e481f75e 100644 --- a/src/test/ui/macro-invalid-fragment-spec.rs +++ b/src/test/ui/macro-invalid-fragment-spec.rs @@ -11,7 +11,6 @@ macro_rules! foo( ($x:foo) => () //~^ ERROR invalid fragment specifier - //~| HELP valid fragment specifiers are ); fn main() { diff --git a/src/test/ui/macro-shadowing.rs b/src/test/ui/macro-shadowing.rs index f5e7305e4ea..61abaf8a2dd 100644 --- a/src/test/ui/macro-shadowing.rs +++ b/src/test/ui/macro-shadowing.rs @@ -18,16 +18,11 @@ macro_rules! macro_one { () => {} } macro_rules! m1 { () => { macro_rules! foo { () => {} } //~ ERROR `foo` is already in scope - //~^ NOTE macro-expanded `macro_rules!`s may not shadow existing macros #[macro_use] //~ ERROR `macro_two` is already in scope - //~^ NOTE macro-expanded `#[macro_use]`s may not shadow existing macros extern crate two_macros as __; }} -m1!(); //~ NOTE in this expansion - //~| NOTE in this expansion - //~| NOTE in this expansion - //~| NOTE in this expansion +m1!(); foo!(); diff --git a/src/test/ui/macro-shadowing.stderr b/src/test/ui/macro-shadowing.stderr index 95370e50925..9ed372f275d 100644 --- a/src/test/ui/macro-shadowing.stderr +++ b/src/test/ui/macro-shadowing.stderr @@ -1,10 +1,10 @@ error: `macro_two` is already in scope - --> $DIR/macro-shadowing.rs:23:5 + --> $DIR/macro-shadowing.rs:22:5 | -23 | #[macro_use] //~ ERROR `macro_two` is already in scope +22 | #[macro_use] //~ ERROR `macro_two` is already in scope | ^^^^^^^^^^^^ ... -27 | m1!(); //~ NOTE in this expansion +25 | m1!(); | ------ in this macro invocation | = note: macro-expanded `#[macro_use]`s may not shadow existing macros (see RFC 1560) @@ -15,7 +15,7 @@ error: `foo` is already in scope 20 | macro_rules! foo { () => {} } //~ ERROR `foo` is already in scope | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... -27 | m1!(); //~ NOTE in this expansion +25 | m1!(); | ------ in this macro invocation | = note: macro-expanded `macro_rules!`s may not shadow existing macros (see RFC 1560) diff --git a/src/test/ui/main-wrong-location.rs b/src/test/ui/main-wrong-location.rs index ef3f8140c68..45be5f14787 100644 --- a/src/test/ui/main-wrong-location.rs +++ b/src/test/ui/main-wrong-location.rs @@ -11,5 +11,5 @@ mod m { // An inferred main entry point (that doesn't use #[main]) // must appear at the top of the crate - fn main() { } //~ NOTE here is a function named 'main' + fn main() { } } diff --git a/src/test/ui/main-wrong-location.stderr b/src/test/ui/main-wrong-location.stderr index 22a270aabf6..cb9740b8779 100644 --- a/src/test/ui/main-wrong-location.stderr +++ b/src/test/ui/main-wrong-location.stderr @@ -4,7 +4,7 @@ error[E0601]: main function not found note: here is a function named 'main' --> $DIR/main-wrong-location.rs:14:5 | -14| fn main() { } //~ NOTE here is a function named 'main' +14| fn main() { } | ^^^^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/maybe-bounds.rs b/src/test/ui/maybe-bounds.rs index b0b412bbf89..1dc198dee83 100644 --- a/src/test/ui/maybe-bounds.rs +++ b/src/test/ui/maybe-bounds.rs @@ -9,7 +9,6 @@ // except according to those terms. trait Tr: ?Sized {} //~ ERROR `?Trait` is not permitted in supertraits - //~^ NOTE traits are `?Sized` by default type A1 = Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types type A2 = for<'a> Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types diff --git a/src/test/ui/maybe-bounds.stderr b/src/test/ui/maybe-bounds.stderr index a6036c80018..df9c3bca364 100644 --- a/src/test/ui/maybe-bounds.stderr +++ b/src/test/ui/maybe-bounds.stderr @@ -7,15 +7,15 @@ error: `?Trait` is not permitted in supertraits = note: traits are `?Sized` by default error: `?Trait` is not permitted in trait object types - --> $DIR/maybe-bounds.rs:14:17 + --> $DIR/maybe-bounds.rs:13:17 | -14 | type A1 = Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types +13 | type A1 = Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types | ^^^^^ error: `?Trait` is not permitted in trait object types - --> $DIR/maybe-bounds.rs:15:25 + --> $DIR/maybe-bounds.rs:14:25 | -15 | type A2 = for<'a> Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types +14 | type A2 = for<'a> Tr + ?Sized; //~ ERROR `?Trait` is not permitted in trait object types | ^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/method-call-err-msg.rs b/src/test/ui/method-call-err-msg.rs index 37806e43a9d..3434cf96fce 100644 --- a/src/test/ui/method-call-err-msg.rs +++ b/src/test/ui/method-call-err-msg.rs @@ -10,29 +10,21 @@ // Test that parameter cardinality or missing method error gets span exactly. -pub struct Foo; //~ NOTE not found for this +pub struct Foo; impl Foo { fn zero(self) -> Foo { self } - //~^ NOTE defined here fn one(self, _: isize) -> Foo { self } - //~^ NOTE defined here fn two(self, _: isize, _: isize) -> Foo { self } - //~^ NOTE defined here } fn main() { let x = Foo; x.zero(0) //~ ERROR this function takes 0 parameters but 1 parameter was supplied - //~^ NOTE expected 0 parameters .one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied - //~^ NOTE expected 1 parameter .two(0); //~ ERROR this function takes 2 parameters but 1 parameter was supplied - //~^ NOTE expected 2 parameters let y = Foo; y.zero() .take() //~ ERROR no method named `take` found for type `Foo` in the current scope - //~^ NOTE the method `take` exists but the following trait bounds were not satisfied - //~| NOTE the following traits define an item `take`, perhaps you need to implement one of them .one(0); } diff --git a/src/test/ui/method-call-err-msg.stderr b/src/test/ui/method-call-err-msg.stderr index 2aa654ff624..59a94ae144c 100644 --- a/src/test/ui/method-call-err-msg.stderr +++ b/src/test/ui/method-call-err-msg.stderr @@ -8,12 +8,12 @@ error[E0061]: this function takes 0 parameters but 1 parameter was supplied | ^^^^ expected 0 parameters error[E0061]: this function takes 1 parameter but 0 parameters were supplied - --> $DIR/method-call-err-msg.rs:27:7 + --> $DIR/method-call-err-msg.rs:23:7 | 17 | fn one(self, _: isize) -> Foo { self } | ----------------------------- defined here ... -27 | .one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied +23 | .one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied | ^^^ expected 1 parameter error[E0061]: this function takes 2 parameters but 1 parameter was supplied @@ -26,12 +26,12 @@ error[E0061]: this function takes 2 parameters but 1 parameter was supplied | ^^^ expected 2 parameters error[E0599]: no method named `take` found for type `Foo` in the current scope - --> $DIR/method-call-err-msg.rs:34:7 + --> $DIR/method-call-err-msg.rs:28:7 | -13 | pub struct Foo; //~ NOTE not found for this +13 | pub struct Foo; | --------------- method `take` not found for this ... -34 | .take() //~ ERROR no method named `take` found for type `Foo` in the current scope +28 | .take() //~ ERROR no method named `take` found for type `Foo` in the current scope | ^^^^ | = note: the method `take` exists but the following trait bounds were not satisfied: diff --git a/src/test/ui/method-missing-call.rs b/src/test/ui/method-missing-call.rs index b13d4250ee9..7a6ea94d977 100644 --- a/src/test/ui/method-missing-call.rs +++ b/src/test/ui/method-missing-call.rs @@ -30,7 +30,6 @@ fn main() { let point: Point = Point::new(); let px: isize = point .get_x;//~ ERROR attempted to take value of method `get_x` on type `Point` - //~^ HELP maybe a `()` to call it is missing // Ensure the span is useful let ys = &[1,2,3,4,5,6,7]; @@ -38,5 +37,4 @@ fn main() { .map(|x| x) .filter(|&&x| x == 1) .filter_map; //~ ERROR attempted to take value of method `filter_map` on type - //~^ HELP maybe a `()` to call it is missing } diff --git a/src/test/ui/method-missing-call.stderr b/src/test/ui/method-missing-call.stderr index 9ebaed11e7d..d4cffbff4ef 100644 --- a/src/test/ui/method-missing-call.stderr +++ b/src/test/ui/method-missing-call.stderr @@ -6,10 +6,10 @@ error[E0615]: attempted to take value of method `get_x` on type `Point` | = help: maybe a `()` to call it is missing? -error[E0615]: attempted to take value of method `filter_map` on type `std::iter::Filter<std::iter::Map<std::slice::Iter<'_, {integer}>, [closure@$DIR/method-missing-call.rs:38:20: 38:25]>, [closure@$DIR/method-missing-call.rs:39:23: 39:35]>` - --> $DIR/method-missing-call.rs:40:16 +error[E0615]: attempted to take value of method `filter_map` on type `std::iter::Filter<std::iter::Map<std::slice::Iter<'_, {integer}>, [closure@$DIR/method-missing-call.rs:37:20: 37:25]>, [closure@$DIR/method-missing-call.rs:38:23: 38:35]>` + --> $DIR/method-missing-call.rs:39:16 | -40 | .filter_map; //~ ERROR attempted to take value of method `filter_map` on type +39 | .filter_map; //~ ERROR attempted to take value of method `filter_map` on type | ^^^^^^^^^^ | = help: maybe a `()` to call it is missing? diff --git a/src/test/ui/mismatched_types/E0053.rs b/src/test/ui/mismatched_types/E0053.rs index f82f3fb0fa4..c09d6673aeb 100644 --- a/src/test/ui/mismatched_types/E0053.rs +++ b/src/test/ui/mismatched_types/E0053.rs @@ -9,8 +9,8 @@ // except according to those terms. trait Foo { - fn foo(x: u16); //~ NOTE type in trait - fn bar(&self); //~ NOTE type in trait + fn foo(x: u16); + fn bar(&self); } struct Bar; @@ -18,12 +18,8 @@ struct Bar; impl Foo for Bar { fn foo(x: i16) { } //~^ ERROR method `foo` has an incompatible type for trait - //~| NOTE expected u16 - //~| NOTE expected type `fn(u16)` fn bar(&mut self) { } //~^ ERROR method `bar` has an incompatible type for trait - //~| NOTE types differ in mutability - //~| NOTE expected type `fn(&Bar)` } fn main() { diff --git a/src/test/ui/mismatched_types/E0053.stderr b/src/test/ui/mismatched_types/E0053.stderr index b80363e3d3e..226cb473e77 100644 --- a/src/test/ui/mismatched_types/E0053.stderr +++ b/src/test/ui/mismatched_types/E0053.stderr @@ -1,7 +1,7 @@ error[E0053]: method `foo` has an incompatible type for trait --> $DIR/E0053.rs:19:15 | -12 | fn foo(x: u16); //~ NOTE type in trait +12 | fn foo(x: u16); | --- type in trait ... 19 | fn foo(x: i16) { } @@ -11,12 +11,12 @@ error[E0053]: method `foo` has an incompatible type for trait found type `fn(i16)` error[E0053]: method `bar` has an incompatible type for trait - --> $DIR/E0053.rs:23:12 + --> $DIR/E0053.rs:21:12 | -13 | fn bar(&self); //~ NOTE type in trait +13 | fn bar(&self); | ----- type in trait ... -23 | fn bar(&mut self) { } +21 | fn bar(&mut self) { } | ^^^^^^^^^ types differ in mutability | = note: expected type `fn(&Bar)` diff --git a/src/test/ui/mismatched_types/E0409.rs b/src/test/ui/mismatched_types/E0409.rs index 17bbc3f2433..345020f2eae 100644 --- a/src/test/ui/mismatched_types/E0409.rs +++ b/src/test/ui/mismatched_types/E0409.rs @@ -13,11 +13,7 @@ fn main() { match x { (0, ref y) | (y, 0) => {} //~ ERROR E0409 - //~^ NOTE bound in different ways - //~| NOTE first binding //~| ERROR E0308 - //~| NOTE expected &{integer}, found integral variable - //~| NOTE expected type `&{integer}` _ => () } } diff --git a/src/test/ui/mismatched_types/fn-variance-1.rs b/src/test/ui/mismatched_types/fn-variance-1.rs index af691663411..de4278e3a03 100644 --- a/src/test/ui/mismatched_types/fn-variance-1.rs +++ b/src/test/ui/mismatched_types/fn-variance-1.rs @@ -22,12 +22,8 @@ fn main() { apply(&3, takes_imm); apply(&3, takes_mut); //~^ ERROR type mismatch - //~| NOTE required by `apply` - //~| NOTE expected signature apply(&mut 3, takes_mut); apply(&mut 3, takes_imm); //~^ ERROR type mismatch - //~| NOTE required by `apply` - //~| NOTE expected signature } diff --git a/src/test/ui/mismatched_types/for-loop-has-unit-body.rs b/src/test/ui/mismatched_types/for-loop-has-unit-body.rs index 8c61fc602e0..4ffee75348a 100644 --- a/src/test/ui/mismatched_types/for-loop-has-unit-body.rs +++ b/src/test/ui/mismatched_types/for-loop-has-unit-body.rs @@ -11,7 +11,5 @@ fn main() { for x in 0..3 { x //~ ERROR mismatched types - //~| NOTE expected () - //~| NOTE expected type `()` } } diff --git a/src/test/ui/mismatched_types/issue-19109.rs b/src/test/ui/mismatched_types/issue-19109.rs index 59127c10cd1..0f85218fcb8 100644 --- a/src/test/ui/mismatched_types/issue-19109.rs +++ b/src/test/ui/mismatched_types/issue-19109.rs @@ -13,8 +13,6 @@ trait Trait { } fn function(t: &mut Trait) { t as *mut Trait //~^ ERROR: mismatched types - //~| NOTE: expected type `()` - //~| NOTE: expected (), found *-ptr } fn main() { } diff --git a/src/test/ui/mismatched_types/issue-36053-2.rs b/src/test/ui/mismatched_types/issue-36053-2.rs index 76885651c5b..bf72e584b56 100644 --- a/src/test/ui/mismatched_types/issue-36053-2.rs +++ b/src/test/ui/mismatched_types/issue-36053-2.rs @@ -17,7 +17,4 @@ fn main() { once::<&str>("str").fuse().filter(|a: &str| true).count(); //~^ ERROR no method named `count` //~| ERROR type mismatch in closure arguments - //~| NOTE the method `count` exists but the following trait bounds - //~| NOTE expected signature - //~| NOTE found signature } diff --git a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs index a4eb4455551..2c7b8218de0 100644 --- a/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs +++ b/src/test/ui/mismatched_types/method-help-unsatisfied-bound.rs @@ -14,5 +14,4 @@ fn main() { let a: Result<(), Foo> = Ok(()); a.unwrap(); //~^ ERROR no method named `unwrap` found for type `std::result::Result<(), Foo>` - //~| NOTE the method `unwrap` exists but the following trait bounds were not satisfied } diff --git a/src/test/ui/mismatched_types/overloaded-calls-bad.rs b/src/test/ui/mismatched_types/overloaded-calls-bad.rs index da1265dfeff..00edc07db81 100644 --- a/src/test/ui/mismatched_types/overloaded-calls-bad.rs +++ b/src/test/ui/mismatched_types/overloaded-calls-bad.rs @@ -36,12 +36,8 @@ fn main() { y: 3, }; let ans = s("what"); //~ ERROR mismatched types - //~^ NOTE expected isize, found reference - //~| NOTE expected type let ans = s(); //~^ ERROR this function takes 1 parameter but 0 parameters were supplied - //~| NOTE expected 1 parameter let ans = s("burma", "shave"); //~^ ERROR this function takes 1 parameter but 2 parameters were supplied - //~| NOTE expected 1 parameter } diff --git a/src/test/ui/mismatched_types/overloaded-calls-bad.stderr b/src/test/ui/mismatched_types/overloaded-calls-bad.stderr index 66642466de3..2122e810046 100644 --- a/src/test/ui/mismatched_types/overloaded-calls-bad.stderr +++ b/src/test/ui/mismatched_types/overloaded-calls-bad.stderr @@ -8,9 +8,9 @@ error[E0308]: mismatched types found type `&'static str` error[E0057]: this function takes 1 parameter but 0 parameters were supplied - --> $DIR/overloaded-calls-bad.rs:41:15 + --> $DIR/overloaded-calls-bad.rs:39:15 | -41 | let ans = s(); +39 | let ans = s(); | ^^^ expected 1 parameter error[E0057]: this function takes 1 parameter but 2 parameters were supplied diff --git a/src/test/ui/mismatched_types/trait-bounds-cant-coerce.rs b/src/test/ui/mismatched_types/trait-bounds-cant-coerce.rs index 115be1bf4de..b2aeabdc1e1 100644 --- a/src/test/ui/mismatched_types/trait-bounds-cant-coerce.rs +++ b/src/test/ui/mismatched_types/trait-bounds-cant-coerce.rs @@ -22,8 +22,6 @@ fn c(x: Box<Foo+Sync+Send>) { fn d(x: Box<Foo>) { a(x); //~ ERROR mismatched types [E0308] - //~| NOTE expected type `std::boxed::Box<Foo + std::marker::Send + 'static>` - //~| NOTE expected trait `Foo + std::marker::Send`, found trait `Foo` } fn main() { } diff --git a/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.rs b/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.rs index 814f2c4d187..10f4b3229f0 100644 --- a/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.rs +++ b/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.rs @@ -20,10 +20,8 @@ fn call_it<F:FnMut(isize,isize)->isize>(y: isize, mut f: F) -> isize { pub fn main() { let f = to_fn_mut(|x: usize, y: isize| -> isize { (x as isize) + y }); - //~^ NOTE found signature of `fn(usize, isize) let z = call_it(3, f); //~^ ERROR type mismatch - //~| NOTE expected signature of `fn(isize, isize) //~| required by `call_it` println!("{}", z); } diff --git a/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.stderr b/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.stderr index 8fa430ffff9..4964a81f4d2 100644 --- a/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.stderr +++ b/src/test/ui/mismatched_types/unboxed-closures-vtable-mismatch.stderr @@ -1,5 +1,5 @@ error[E0631]: type mismatch in closure arguments - --> $DIR/unboxed-closures-vtable-mismatch.rs:24:13 + --> $DIR/unboxed-closures-vtable-mismatch.rs:23:13 | 22 | let f = to_fn_mut(|x: usize, y: isize| -> isize { (x as isize) + y }); | ----------------------------- found signature of `fn(usize, isize) -> _` diff --git a/src/test/ui/missing-block-hint.rs b/src/test/ui/missing-block-hint.rs index 22636b0a5a1..777ff5b9b26 100644 --- a/src/test/ui/missing-block-hint.rs +++ b/src/test/ui/missing-block-hint.rs @@ -15,6 +15,5 @@ fn main() { { if (foo) bar; //~ ERROR expected `{`, found `bar` - //~^ HELP try placing this code inside a block } } diff --git a/src/test/ui/moves-based-on-type-block-bad.rs b/src/test/ui/moves-based-on-type-block-bad.rs index deaff3c3521..dd4c4c843ab 100644 --- a/src/test/ui/moves-based-on-type-block-bad.rs +++ b/src/test/ui/moves-based-on-type-block-bad.rs @@ -35,7 +35,6 @@ fn main() { //~| cannot move out of borrowed content box E::Foo(_) => {} box E::Bar(x) => println!("{}", x.to_string()), - //~^ NOTE to prevent move box E::Baz => {} } }) diff --git a/src/test/ui/moves-based-on-type-match-bindings.rs b/src/test/ui/moves-based-on-type-match-bindings.rs index bcbb8dbfad1..1fd3d03570a 100644 --- a/src/test/ui/moves-based-on-type-match-bindings.rs +++ b/src/test/ui/moves-based-on-type-match-bindings.rs @@ -20,7 +20,7 @@ fn f10() { let x = Foo {f: "hi".to_string()}; let y = match x { - Foo {f} => {} //~ NOTE moved here + Foo {f} => {} }; touch(&x); //~ ERROR use of partially moved value: `x` diff --git a/src/test/ui/moves-based-on-type-match-bindings.stderr b/src/test/ui/moves-based-on-type-match-bindings.stderr index 74d90e0eb7f..5256b55f01c 100644 --- a/src/test/ui/moves-based-on-type-match-bindings.stderr +++ b/src/test/ui/moves-based-on-type-match-bindings.stderr @@ -1,7 +1,7 @@ error[E0382]: use of partially moved value: `x` --> $DIR/moves-based-on-type-match-bindings.rs:26:12 | -23 | Foo {f} => {} //~ NOTE moved here +23 | Foo {f} => {} | - value moved here ... 26 | touch(&x); //~ ERROR use of partially moved value: `x` diff --git a/src/test/ui/no-patterns-in-args.rs b/src/test/ui/no-patterns-in-args.rs index 081d6caaa13..757bd2cb52b 100644 --- a/src/test/ui/no-patterns-in-args.rs +++ b/src/test/ui/no-patterns-in-args.rs @@ -10,11 +10,8 @@ extern { fn f1(mut arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations - //~^ NOTE pattern not allowed in foreign function fn f2(&arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations - //~^ NOTE pattern not allowed in foreign function fn f3(arg @ _: u8); //~ ERROR patterns aren't allowed in foreign function declarations - //~^ NOTE pattern not allowed in foreign function fn g1(arg: u8); // OK fn g2(_: u8); // OK // fn g3(u8); // Not yet diff --git a/src/test/ui/no-patterns-in-args.stderr b/src/test/ui/no-patterns-in-args.stderr index 1aa14691611..0db9eb9ded3 100644 --- a/src/test/ui/no-patterns-in-args.stderr +++ b/src/test/ui/no-patterns-in-args.stderr @@ -5,27 +5,27 @@ error[E0130]: patterns aren't allowed in foreign function declarations | ^^^^^^^ pattern not allowed in foreign function error[E0130]: patterns aren't allowed in foreign function declarations - --> $DIR/no-patterns-in-args.rs:14:11 + --> $DIR/no-patterns-in-args.rs:13:11 | -14 | fn f2(&arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations +13 | fn f2(&arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations | ^^^^ pattern not allowed in foreign function error[E0130]: patterns aren't allowed in foreign function declarations - --> $DIR/no-patterns-in-args.rs:16:11 + --> $DIR/no-patterns-in-args.rs:14:11 | -16 | fn f3(arg @ _: u8); //~ ERROR patterns aren't allowed in foreign function declarations +14 | fn f3(arg @ _: u8); //~ ERROR patterns aren't allowed in foreign function declarations | ^^^^^^^ pattern not allowed in foreign function error[E0561]: patterns aren't allowed in function pointer types - --> $DIR/no-patterns-in-args.rs:23:14 + --> $DIR/no-patterns-in-args.rs:20:14 | -23 | type A1 = fn(mut arg: u8); //~ ERROR patterns aren't allowed in function pointer types +20 | type A1 = fn(mut arg: u8); //~ ERROR patterns aren't allowed in function pointer types | ^^^^^^^ error[E0561]: patterns aren't allowed in function pointer types - --> $DIR/no-patterns-in-args.rs:24:14 + --> $DIR/no-patterns-in-args.rs:21:14 | -24 | type A2 = fn(&arg: u8); //~ ERROR patterns aren't allowed in function pointer types +21 | type A2 = fn(&arg: u8); //~ ERROR patterns aren't allowed in function pointer types | ^^^^ error: aborting due to 5 previous errors diff --git a/src/test/ui/non-constant-expr-for-arr-len.rs b/src/test/ui/non-constant-expr-for-arr-len.rs index 17df7ae2347..f8f46f30f8d 100644 --- a/src/test/ui/non-constant-expr-for-arr-len.rs +++ b/src/test/ui/non-constant-expr-for-arr-len.rs @@ -14,6 +14,5 @@ fn main() { fn bar(n: usize) { let _x = [0; n]; //~^ ERROR attempt to use a non-constant value in a constant [E0435] - //~| NOTE non-constant value } } diff --git a/src/test/ui/non-exhaustive-pattern-witness.rs b/src/test/ui/non-exhaustive-pattern-witness.rs index eba61ede8cb..0b12a9acbcb 100644 --- a/src/test/ui/non-exhaustive-pattern-witness.rs +++ b/src/test/ui/non-exhaustive-pattern-witness.rs @@ -19,7 +19,6 @@ struct Foo { fn struct_with_a_nested_enum_and_vector() { match (Foo { first: true, second: None }) { //~^ ERROR non-exhaustive patterns: `Foo { first: false, second: Some([_, _, _, _]) }` not covered -//~| NOTE pattern `Foo { first: false, second: Some([_, _, _, _]) }` not covered Foo { first: true, second: None } => (), Foo { first: true, second: Some(_) } => (), Foo { first: false, second: None } => (), @@ -36,7 +35,6 @@ enum Color { fn enum_with_single_missing_variant() { match Color::Red { //~^ ERROR non-exhaustive patterns: `Red` not covered - //~| NOTE pattern `Red` not covered Color::CustomRGBA { .. } => (), Color::Green => () } @@ -49,7 +47,6 @@ enum Direction { fn enum_with_multiple_missing_variants() { match Direction::North { //~^ ERROR non-exhaustive patterns: `East`, `South` and `West` not covered - //~| NOTE patterns `East`, `South` and `West` not covered Direction::North => () } } @@ -61,7 +58,6 @@ enum ExcessiveEnum { fn enum_with_excessive_missing_variants() { match ExcessiveEnum::First { //~^ ERROR `Second`, `Third`, `Fourth` and 8 more not covered - //~| NOTE patterns `Second`, `Third`, `Fourth` and 8 more not covered ExcessiveEnum::First => () } @@ -70,7 +66,6 @@ fn enum_with_excessive_missing_variants() { fn enum_struct_variant() { match Color::Red { //~^ ERROR non-exhaustive patterns: `CustomRGBA { a: true, .. }` not covered - //~| NOTE pattern `CustomRGBA { a: true, .. }` not covered Color::Red => (), Color::Green => (), Color::CustomRGBA { a: false, r: _, g: _, b: 0 } => (), @@ -87,7 +82,6 @@ fn vectors_with_nested_enums() { let x: &'static [Enum] = &[Enum::First, Enum::Second(false)]; match *x { //~^ ERROR non-exhaustive patterns: `[Second(true), Second(false)]` not covered - //~| NOTE pattern `[Second(true), Second(false)]` not covered [] => (), [_] => (), [Enum::First, _] => (), @@ -101,7 +95,6 @@ fn vectors_with_nested_enums() { fn missing_nil() { match ((), false) { //~^ ERROR non-exhaustive patterns: `((), false)` not covered - //~| NOTE pattern `((), false)` not covered ((), true) => () } } diff --git a/src/test/ui/non-exhaustive-pattern-witness.stderr b/src/test/ui/non-exhaustive-pattern-witness.stderr index d9574c9e960..f012dfed0b8 100644 --- a/src/test/ui/non-exhaustive-pattern-witness.stderr +++ b/src/test/ui/non-exhaustive-pattern-witness.stderr @@ -5,40 +5,40 @@ error[E0004]: non-exhaustive patterns: `Foo { first: false, second: Some([_, _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern `Foo { first: false, second: Some([_, _, _, _]) }` not covered error[E0004]: non-exhaustive patterns: `Red` not covered - --> $DIR/non-exhaustive-pattern-witness.rs:37:11 + --> $DIR/non-exhaustive-pattern-witness.rs:36:11 | -37 | match Color::Red { +36 | match Color::Red { | ^^^^^^^^^^ pattern `Red` not covered error[E0004]: non-exhaustive patterns: `East`, `South` and `West` not covered - --> $DIR/non-exhaustive-pattern-witness.rs:50:11 + --> $DIR/non-exhaustive-pattern-witness.rs:48:11 | -50 | match Direction::North { +48 | match Direction::North { | ^^^^^^^^^^^^^^^^ patterns `East`, `South` and `West` not covered error[E0004]: non-exhaustive patterns: `Second`, `Third`, `Fourth` and 8 more not covered - --> $DIR/non-exhaustive-pattern-witness.rs:62:11 + --> $DIR/non-exhaustive-pattern-witness.rs:59:11 | -62 | match ExcessiveEnum::First { +59 | match ExcessiveEnum::First { | ^^^^^^^^^^^^^^^^^^^^ patterns `Second`, `Third`, `Fourth` and 8 more not covered error[E0004]: non-exhaustive patterns: `CustomRGBA { a: true, .. }` not covered - --> $DIR/non-exhaustive-pattern-witness.rs:71:11 + --> $DIR/non-exhaustive-pattern-witness.rs:67:11 | -71 | match Color::Red { +67 | match Color::Red { | ^^^^^^^^^^ pattern `CustomRGBA { a: true, .. }` not covered error[E0004]: non-exhaustive patterns: `[Second(true), Second(false)]` not covered - --> $DIR/non-exhaustive-pattern-witness.rs:88:11 + --> $DIR/non-exhaustive-pattern-witness.rs:83:11 | -88 | match *x { +83 | match *x { | ^^ pattern `[Second(true), Second(false)]` not covered error[E0004]: non-exhaustive patterns: `((), false)` not covered - --> $DIR/non-exhaustive-pattern-witness.rs:102:11 - | -102 | match ((), false) { - | ^^^^^^^^^^^ pattern `((), false)` not covered + --> $DIR/non-exhaustive-pattern-witness.rs:96:11 + | +96 | match ((), false) { + | ^^^^^^^^^^^ pattern `((), false)` not covered error: aborting due to 7 previous errors diff --git a/src/test/ui/not-enough-arguments.rs b/src/test/ui/not-enough-arguments.rs index e13008df0d9..c952906e5e8 100644 --- a/src/test/ui/not-enough-arguments.rs +++ b/src/test/ui/not-enough-arguments.rs @@ -13,12 +13,10 @@ // unrelated errors. fn foo(a: isize, b: isize, c: isize, d:isize) { - //~^ NOTE defined here panic!(); } fn main() { foo(1, 2, 3); //~^ ERROR this function takes 4 parameters but 3 - //~| NOTE expected 4 parameters } diff --git a/src/test/ui/not-enough-arguments.stderr b/src/test/ui/not-enough-arguments.stderr index 70b53fca6da..e92175c09d7 100644 --- a/src/test/ui/not-enough-arguments.stderr +++ b/src/test/ui/not-enough-arguments.stderr @@ -1,13 +1,12 @@ error[E0061]: this function takes 4 parameters but 3 parameters were supplied - --> $DIR/not-enough-arguments.rs:21:7 + --> $DIR/not-enough-arguments.rs:20:7 | 15 | / fn foo(a: isize, b: isize, c: isize, d:isize) { -16 | | //~^ NOTE defined here -17 | | panic!(); -18 | | } +16 | | panic!(); +17 | | } | |_- defined here ... -21 | foo(1, 2, 3); +20 | foo(1, 2, 3); | ^^^^^^^ expected 4 parameters error: aborting due to previous error diff --git a/src/test/ui/numeric-fields.rs b/src/test/ui/numeric-fields.rs index d6e091a1472..89d09560369 100644 --- a/src/test/ui/numeric-fields.rs +++ b/src/test/ui/numeric-fields.rs @@ -13,11 +13,8 @@ struct S(u8, u16); fn main() { let s = S{0b1: 10, 0: 11}; //~^ ERROR struct `S` has no field named `0b1` - //~| NOTE `S` does not have this field - //~| NOTE available fields are: `0`, `1` match s { S{0: a, 0x1: b, ..} => {} //~^ ERROR does not have a field named `0x1` - //~| NOTE struct `S` does not have field `0x1` } } diff --git a/src/test/ui/numeric-fields.stderr b/src/test/ui/numeric-fields.stderr index 23f7be2fd13..cdf85d4f971 100644 --- a/src/test/ui/numeric-fields.stderr +++ b/src/test/ui/numeric-fields.stderr @@ -7,9 +7,9 @@ error[E0560]: struct `S` has no field named `0b1` = note: available fields are: `0`, `1` error[E0026]: struct `S` does not have a field named `0x1` - --> $DIR/numeric-fields.rs:19:17 + --> $DIR/numeric-fields.rs:17:17 | -19 | S{0: a, 0x1: b, ..} => {} +17 | S{0: a, 0x1: b, ..} => {} | ^^^^^^ struct `S` does not have field `0x1` error: aborting due to 2 previous errors diff --git a/src/test/ui/object-safety-associated-consts.rs b/src/test/ui/object-safety-associated-consts.rs index ebb52face06..4bce2c5982a 100644 --- a/src/test/ui/object-safety-associated-consts.rs +++ b/src/test/ui/object-safety-associated-consts.rs @@ -18,8 +18,6 @@ trait Bar { fn make_bar<T:Bar>(t: &T) -> &Bar { //~^ ERROR E0038 - //~| NOTE the trait cannot contain associated consts like `X` - //~| NOTE the trait `Bar` cannot be made into an object t } diff --git a/src/test/ui/object-safety-generics.rs b/src/test/ui/object-safety-generics.rs index 6174d45b898..969ceeec276 100644 --- a/src/test/ui/object-safety-generics.rs +++ b/src/test/ui/object-safety-generics.rs @@ -23,15 +23,11 @@ trait Quux { fn make_bar<T:Bar>(t: &T) -> &Bar { //~^ ERROR E0038 - //~| NOTE method `bar` has generic type parameters - //~| NOTE the trait `Bar` cannot be made into an object t } fn make_bar_explicit<T:Bar>(t: &T) -> &Bar { //~^ ERROR E0038 - //~| NOTE method `bar` has generic type parameters - //~| NOTE the trait `Bar` cannot be made into an object t as &Bar } diff --git a/src/test/ui/object-safety-generics.stderr b/src/test/ui/object-safety-generics.stderr index 62a1a27d684..7bc714163c7 100644 --- a/src/test/ui/object-safety-generics.stderr +++ b/src/test/ui/object-safety-generics.stderr @@ -7,9 +7,9 @@ error[E0038]: the trait `Bar` cannot be made into an object = note: method `bar` has generic type parameters error[E0038]: the trait `Bar` cannot be made into an object - --> $DIR/object-safety-generics.rs:31:1 + --> $DIR/object-safety-generics.rs:29:1 | -31 | fn make_bar_explicit<T:Bar>(t: &T) -> &Bar { +29 | fn make_bar_explicit<T:Bar>(t: &T) -> &Bar { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Bar` cannot be made into an object | = note: method `bar` has generic type parameters diff --git a/src/test/ui/object-safety-mentions-Self.rs b/src/test/ui/object-safety-mentions-Self.rs index d85614fa5b5..0f59a928fef 100644 --- a/src/test/ui/object-safety-mentions-Self.rs +++ b/src/test/ui/object-safety-mentions-Self.rs @@ -26,15 +26,11 @@ trait Quux { fn make_bar<T:Bar>(t: &T) -> &Bar { //~^ ERROR E0038 - //~| NOTE method `bar` references the `Self` type in its arguments or return type - //~| NOTE the trait `Bar` cannot be made into an object loop { } } fn make_baz<T:Baz>(t: &T) -> &Baz { //~^ ERROR E0038 - //~| NOTE method `bar` references the `Self` type in its arguments or return type - //~| NOTE the trait `Baz` cannot be made into an object t } diff --git a/src/test/ui/object-safety-mentions-Self.stderr b/src/test/ui/object-safety-mentions-Self.stderr index 2f7c8d5eec2..8ed8dcc8031 100644 --- a/src/test/ui/object-safety-mentions-Self.stderr +++ b/src/test/ui/object-safety-mentions-Self.stderr @@ -7,9 +7,9 @@ error[E0038]: the trait `Bar` cannot be made into an object = note: method `bar` references the `Self` type in its arguments or return type error[E0038]: the trait `Baz` cannot be made into an object - --> $DIR/object-safety-mentions-Self.rs:34:1 + --> $DIR/object-safety-mentions-Self.rs:32:1 | -34 | fn make_baz<T:Baz>(t: &T) -> &Baz { +32 | fn make_baz<T:Baz>(t: &T) -> &Baz { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Baz` cannot be made into an object | = note: method `bar` references the `Self` type in its arguments or return type diff --git a/src/test/ui/object-safety-sized.rs b/src/test/ui/object-safety-sized.rs index accd7fa87ac..7c58609c7e9 100644 --- a/src/test/ui/object-safety-sized.rs +++ b/src/test/ui/object-safety-sized.rs @@ -17,8 +17,6 @@ trait Bar : Sized { fn make_bar<T:Bar>(t: &T) -> &Bar { //~^ ERROR E0038 - //~| NOTE the trait cannot require that `Self : Sized` - //~| NOTE the trait `Bar` cannot be made into an object t } diff --git a/src/test/ui/object-safety-supertrait-mentions-Self.rs b/src/test/ui/object-safety-supertrait-mentions-Self.rs index a93c056c410..53b4fc2de9e 100644 --- a/src/test/ui/object-safety-supertrait-mentions-Self.rs +++ b/src/test/ui/object-safety-supertrait-mentions-Self.rs @@ -24,8 +24,6 @@ fn make_bar<T:Bar<u32>>(t: &T) -> &Bar<u32> { fn make_baz<T:Baz>(t: &T) -> &Baz { //~^ ERROR E0038 - //~| NOTE the trait cannot use `Self` as a type parameter in the supertraits or where-clauses - //~| NOTE the trait `Baz` cannot be made into an object t } diff --git a/src/test/ui/on-unimplemented/multiple-impls.rs b/src/test/ui/on-unimplemented/multiple-impls.rs index 15375936b89..539f5d63c0b 100644 --- a/src/test/ui/on-unimplemented/multiple-impls.rs +++ b/src/test/ui/on-unimplemented/multiple-impls.rs @@ -42,20 +42,11 @@ impl Index<Bar<usize>> for [i32] { fn main() { Index::index(&[] as &[i32], 2u32); //~^ ERROR E0277 - //~| NOTE trait message - //~| NOTE required by //~| ERROR E0277 - //~| NOTE trait message Index::index(&[] as &[i32], Foo(2u32)); //~^ ERROR E0277 - //~| NOTE on impl for Foo - //~| NOTE required by //~| ERROR E0277 - //~| NOTE on impl for Foo Index::index(&[] as &[i32], Bar(2u32)); //~^ ERROR E0277 - //~| NOTE on impl for Bar - //~| NOTE required by //~| ERROR E0277 - //~| NOTE on impl for Bar } diff --git a/src/test/ui/on-unimplemented/multiple-impls.stderr b/src/test/ui/on-unimplemented/multiple-impls.stderr index a1fa8b720a8..1f71be446ef 100644 --- a/src/test/ui/on-unimplemented/multiple-impls.stderr +++ b/src/test/ui/on-unimplemented/multiple-impls.stderr @@ -16,35 +16,35 @@ error[E0277]: the trait bound `[i32]: Index<u32>` is not satisfied = help: the trait `Index<u32>` is not implemented for `[i32]` error[E0277]: the trait bound `[i32]: Index<Foo<u32>>` is not satisfied - --> $DIR/multiple-impls.rs:49:5 + --> $DIR/multiple-impls.rs:46:5 | -49 | Index::index(&[] as &[i32], Foo(2u32)); +46 | Index::index(&[] as &[i32], Foo(2u32)); | ^^^^^^^^^^^^ on impl for Foo | = help: the trait `Index<Foo<u32>>` is not implemented for `[i32]` = note: required by `Index::index` error[E0277]: the trait bound `[i32]: Index<Foo<u32>>` is not satisfied - --> $DIR/multiple-impls.rs:49:5 + --> $DIR/multiple-impls.rs:46:5 | -49 | Index::index(&[] as &[i32], Foo(2u32)); +46 | Index::index(&[] as &[i32], Foo(2u32)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ on impl for Foo | = help: the trait `Index<Foo<u32>>` is not implemented for `[i32]` error[E0277]: the trait bound `[i32]: Index<Bar<u32>>` is not satisfied - --> $DIR/multiple-impls.rs:55:5 + --> $DIR/multiple-impls.rs:49:5 | -55 | Index::index(&[] as &[i32], Bar(2u32)); +49 | Index::index(&[] as &[i32], Bar(2u32)); | ^^^^^^^^^^^^ on impl for Bar | = help: the trait `Index<Bar<u32>>` is not implemented for `[i32]` = note: required by `Index::index` error[E0277]: the trait bound `[i32]: Index<Bar<u32>>` is not satisfied - --> $DIR/multiple-impls.rs:55:5 + --> $DIR/multiple-impls.rs:49:5 | -55 | Index::index(&[] as &[i32], Bar(2u32)); +49 | Index::index(&[] as &[i32], Bar(2u32)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ on impl for Bar | = help: the trait `Index<Bar<u32>>` is not implemented for `[i32]` diff --git a/src/test/ui/on-unimplemented/on-impl.rs b/src/test/ui/on-unimplemented/on-impl.rs index 66d612baab4..da56ae64993 100644 --- a/src/test/ui/on-unimplemented/on-impl.rs +++ b/src/test/ui/on-unimplemented/on-impl.rs @@ -31,8 +31,5 @@ impl Index<usize> for [i32] { fn main() { Index::<u32>::index(&[1, 2, 3] as &[i32], 2u32); //~^ ERROR E0277 - //~| NOTE a usize is required - //~| NOTE required by //~| ERROR E0277 - //~| NOTE a usize is required } diff --git a/src/test/ui/on-unimplemented/on-trait.rs b/src/test/ui/on-unimplemented/on-trait.rs index ed7ec9b1436..a5eea55eeb9 100644 --- a/src/test/ui/on-unimplemented/on-trait.rs +++ b/src/test/ui/on-unimplemented/on-trait.rs @@ -36,10 +36,6 @@ pub fn main() { let x = vec![1u8, 2, 3, 4]; let y: Option<Vec<u8>> = collect(x.iter()); // this should give approximately the same error for x.iter().collect() //~^ ERROR - //~^^ NOTE a collection of type `std::option::Option<std::vec::Vec<u8>>` cannot be built from an iterator over elements of type `&u8` - //~^^^ NOTE required by `collect` let x: String = foobar(); //~ ERROR - //~^ NOTE test error `std::string::String` with `u8` `_` `u32` - //~^^ NOTE required by `foobar` } diff --git a/src/test/ui/on-unimplemented/on-trait.stderr b/src/test/ui/on-unimplemented/on-trait.stderr index 84986c1ecfd..cde56022fae 100644 --- a/src/test/ui/on-unimplemented/on-trait.stderr +++ b/src/test/ui/on-unimplemented/on-trait.stderr @@ -8,9 +8,9 @@ error[E0277]: the trait bound `std::option::Option<std::vec::Vec<u8>>: MyFromIte = note: required by `collect` error[E0277]: the trait bound `std::string::String: Bar::Foo<u8, _, u32>` is not satisfied - --> $DIR/on-trait.rs:42:21 + --> $DIR/on-trait.rs:40:21 | -42 | let x: String = foobar(); //~ ERROR +40 | let x: String = foobar(); //~ ERROR | ^^^^^^ test error `std::string::String` with `u8` `_` `u32` in `Bar::Foo` | = help: the trait `Bar::Foo<u8, _, u32>` is not implemented for `std::string::String` diff --git a/src/test/ui/on-unimplemented/slice-index.rs b/src/test/ui/on-unimplemented/slice-index.rs index 5d30c2e982e..7d67e89a78e 100644 --- a/src/test/ui/on-unimplemented/slice-index.rs +++ b/src/test/ui/on-unimplemented/slice-index.rs @@ -19,9 +19,5 @@ use std::ops::Index; fn main() { let x = &[1, 2, 3] as &[i32]; x[1i32]; //~ ERROR E0277 - //~| NOTE slice indices are of type `usize` or ranges of `usize` - //~| NOTE required because of the requirements on the impl of `std::ops::Index<i32>` x[..1i32]; //~ ERROR E0277 - //~| NOTE slice indices are of type `usize` or ranges of `usize` - //~| NOTE requirements on the impl of `std::ops::Index<std::ops::RangeTo<i32>>` } diff --git a/src/test/ui/on-unimplemented/slice-index.stderr b/src/test/ui/on-unimplemented/slice-index.stderr index 68789f77f75..a1ecbce770a 100644 --- a/src/test/ui/on-unimplemented/slice-index.stderr +++ b/src/test/ui/on-unimplemented/slice-index.stderr @@ -8,9 +8,9 @@ error[E0277]: the trait bound `i32: std::slice::SliceIndex<[i32]>` is not satisf = note: required because of the requirements on the impl of `std::ops::Index<i32>` for `[i32]` error[E0277]: the trait bound `std::ops::RangeTo<i32>: std::slice::SliceIndex<[i32]>` is not satisfied - --> $DIR/slice-index.rs:24:5 + --> $DIR/slice-index.rs:22:5 | -24 | x[..1i32]; //~ ERROR E0277 +22 | x[..1i32]; //~ ERROR E0277 | ^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` | = help: the trait `std::slice::SliceIndex<[i32]>` is not implemented for `std::ops::RangeTo<i32>` diff --git a/src/test/ui/partialeq_help.rs b/src/test/ui/partialeq_help.rs index 52c24473bd3..ee6d632d1a3 100644 --- a/src/test/ui/partialeq_help.rs +++ b/src/test/ui/partialeq_help.rs @@ -10,9 +10,6 @@ fn foo<T: PartialEq>(a: &T, b: T) { a == b; //~ ERROR E0277 - //~| NOTE can't compare `&T` with `T` - //~| HELP the trait `std::cmp::PartialEq<T>` is not implemented for `&T` - //~| HELP consider adding a `where &T: std::cmp::PartialEq<T>` bound } fn main() { diff --git a/src/test/ui/pat-slice-old-style.rs b/src/test/ui/pat-slice-old-style.rs index d49ce56ccf6..4ff1e94b087 100644 --- a/src/test/ui/pat-slice-old-style.rs +++ b/src/test/ui/pat-slice-old-style.rs @@ -18,8 +18,6 @@ fn slice_pat(x: &[u8]) { match x { [a, b..] => {}, //~^ ERROR non-reference pattern used to match a reference - //~| HELP add #![feature(match_default_bindings)] to the crate attributes to enable - //~| HELP consider using _ => panic!(), } } diff --git a/src/test/ui/qualified-path-params-2.rs b/src/test/ui/qualified-path-params-2.rs index e685ebc2720..b0dd1f2518c 100644 --- a/src/test/ui/qualified-path-params-2.rs +++ b/src/test/ui/qualified-path-params-2.rs @@ -27,9 +27,6 @@ impl S { type A = <S as Tr>::A::f<u8>; //~^ ERROR type parameters are not allowed on this type -//~| NOTE type parameter not allowed //~| ERROR ambiguous associated type -//~| NOTE ambiguous associated type -//~| NOTE specify the type using the syntax `<<S as Tr>::A as Trait>::f` fn main() {} diff --git a/src/test/ui/region-borrow-params-issue-29793-small.rs b/src/test/ui/region-borrow-params-issue-29793-small.rs index 18206a68515..4fda8ec3f38 100644 --- a/src/test/ui/region-borrow-params-issue-29793-small.rs +++ b/src/test/ui/region-borrow-params-issue-29793-small.rs @@ -19,16 +19,8 @@ fn escaping_borrow_of_closure_params_1() { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR `x` does not live long enough //~| ERROR `y` does not live long enough - //~| NOTE capture occurs here - //~| NOTE capture occurs here - //~| NOTE does not live long enough - //~| NOTE does not live long enough - //~| NOTE values in a scope are dropped in the opposite order they are created - //~| NOTE values in a scope are dropped in the opposite order they are created return f; }; - //~^ NOTE borrowed value dropped before borrower - //~| NOTE borrowed value dropped before borrower // We delberately do not call `g`; this small version of the test, // after adding such a call, was (properly) rejected even when the @@ -42,16 +34,8 @@ fn escaping_borrow_of_closure_params_2() { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR `x` does not live long enough //~| ERROR `y` does not live long enough - //~| NOTE capture occurs here - //~| NOTE capture occurs here - //~| NOTE does not live long enough - //~| NOTE does not live long enough - //~| NOTE values in a scope are dropped in the opposite order they are created - //~| NOTE values in a scope are dropped in the opposite order they are created f }; - //~^ NOTE borrowed value dropped before borrower - //~| NOTE borrowed value dropped before borrower // (we don't call `g`; see above) } @@ -80,11 +64,7 @@ fn escaping_borrow_of_fn_params_1() { fn g<'a>(x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` return Box::new(f); }; @@ -95,11 +75,7 @@ fn escaping_borrow_of_fn_params_2() { fn g<'a>(x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` Box::new(f) }; @@ -123,11 +99,7 @@ fn escaping_borrow_of_method_params_1() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` return Box::new(f); } } @@ -141,11 +113,7 @@ fn escaping_borrow_of_method_params_2() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` Box::new(f) } } @@ -173,11 +141,7 @@ fn escaping_borrow_of_trait_impl_params_1() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` return Box::new(f); } } @@ -192,11 +156,7 @@ fn escaping_borrow_of_trait_impl_params_2() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` Box::new(f) } } @@ -224,11 +184,7 @@ fn escaping_borrow_of_trait_default_params_1() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` return Box::new(f); } } @@ -242,11 +198,7 @@ fn escaping_borrow_of_trait_default_params_2() { fn g<'a>(&self, x: usize, y:usize) -> Box<Fn(bool) -> usize + 'a> { let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) //~^ ERROR E0373 - //~| NOTE `x` is borrowed here - //~| NOTE may outlive borrowed value `x` //~| ERROR E0373 - //~| NOTE `y` is borrowed here - //~| NOTE may outlive borrowed value `y` Box::new(f) } } diff --git a/src/test/ui/region-borrow-params-issue-29793-small.stderr b/src/test/ui/region-borrow-params-issue-29793-small.stderr index 3a25832c151..d640d5c8bd9 100644 --- a/src/test/ui/region-borrow-params-issue-29793-small.stderr +++ b/src/test/ui/region-borrow-params-issue-29793-small.stderr @@ -6,7 +6,7 @@ error[E0597]: `x` does not live long enough | | | capture occurs here ... -29 | }; +23 | }; | - borrowed value dropped before borrower | = note: values in a scope are dropped in the opposite order they are created @@ -19,227 +19,227 @@ error[E0597]: `y` does not live long enough | | | capture occurs here ... -29 | }; +23 | }; | - borrowed value dropped before borrower | = note: values in a scope are dropped in the opposite order they are created error[E0597]: `x` does not live long enough - --> $DIR/region-borrow-params-issue-29793-small.rs:42:34 + --> $DIR/region-borrow-params-issue-29793-small.rs:34:34 | -42 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +34 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | --------- ^ does not live long enough | | | capture occurs here ... -52 | }; +38 | }; | - borrowed value dropped before borrower | = note: values in a scope are dropped in the opposite order they are created error[E0597]: `y` does not live long enough - --> $DIR/region-borrow-params-issue-29793-small.rs:42:45 + --> $DIR/region-borrow-params-issue-29793-small.rs:34:45 | -42 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +34 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | --------- ^ does not live long enough | | | capture occurs here ... -52 | }; +38 | }; | - borrowed value dropped before borrower | = note: values in a scope are dropped in the opposite order they are created error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:81:17 + --> $DIR/region-borrow-params-issue-29793-small.rs:65:17 | -81 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +65 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -81 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +65 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:81:17 + --> $DIR/region-borrow-params-issue-29793-small.rs:65:17 | -81 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +65 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -81 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +65 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:96:17 + --> $DIR/region-borrow-params-issue-29793-small.rs:76:17 | -96 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +76 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -96 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +76 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:96:17 + --> $DIR/region-borrow-params-issue-29793-small.rs:76:17 | -96 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +76 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -96 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +76 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:124:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:100:21 | -124 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +100 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -124 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +100 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:124:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:100:21 | -124 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +100 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -124 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +100 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:142:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:114:21 | -142 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +114 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -142 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +114 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:142:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:114:21 | -142 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +114 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -142 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +114 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:174:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:142:21 | -174 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +142 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -174 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +142 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:174:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:142:21 | -174 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +142 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -174 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +142 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:193:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:157:21 | -193 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +157 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -193 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +157 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:193:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:157:21 | -193 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +157 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -193 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +157 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:225:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:185:21 | -225 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +185 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -225 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +185 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:225:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:185:21 | -225 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +185 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -225 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +185 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:243:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:199:21 | -243 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +199 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `x` is borrowed here | | | may outlive borrowed value `x` help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword | -243 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +199 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `y`, which is owned by the current function - --> $DIR/region-borrow-params-issue-29793-small.rs:243:21 + --> $DIR/region-borrow-params-issue-29793-small.rs:199:21 | -243 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +199 | let f = |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^ - `y` is borrowed here | | | may outlive borrowed value `y` help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | -243 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) +199 | let f = move |t: bool| if t { x } else { y }; // (separate errors for `x` vs `y`) | ^^^^^^^^^^^^^^ error: aborting due to 20 previous errors diff --git a/src/test/ui/regions-nested-fns-2.rs b/src/test/ui/regions-nested-fns-2.rs index 40ba34b26ed..e66b62b6fb1 100644 --- a/src/test/ui/regions-nested-fns-2.rs +++ b/src/test/ui/regions-nested-fns-2.rs @@ -15,9 +15,7 @@ fn nested() { ignore( |z| { //~^ ERROR E0373 - //~| NOTE may outlive borrowed value `y` if false { &y } else { z } - //~^ NOTE `y` is borrowed here }); } diff --git a/src/test/ui/regions-nested-fns-2.stderr b/src/test/ui/regions-nested-fns-2.stderr index 98d82d438c0..5f0bbf6d12b 100644 --- a/src/test/ui/regions-nested-fns-2.stderr +++ b/src/test/ui/regions-nested-fns-2.stderr @@ -3,8 +3,8 @@ error[E0373]: closure may outlive the current function, but it borrows `y`, whic | 16 | |z| { | ^^^ may outlive borrowed value `y` -... -19 | if false { &y } else { z } +17 | //~^ ERROR E0373 +18 | if false { &y } else { z } | - `y` is borrowed here help: to force the closure to take ownership of `y` (and any other referenced variables), use the `move` keyword | diff --git a/src/test/ui/resolve-conflict-item-vs-import.rs b/src/test/ui/resolve-conflict-item-vs-import.rs index c91657bb463..4e74ab95d61 100644 --- a/src/test/ui/resolve-conflict-item-vs-import.rs +++ b/src/test/ui/resolve-conflict-item-vs-import.rs @@ -9,7 +9,6 @@ // except according to those terms. use std::mem::transmute; -//~^ NOTE previous import of the value `transmute` here fn transmute() {} //~^ ERROR the name `transmute` is defined multiple times diff --git a/src/test/ui/resolve-conflict-item-vs-import.stderr b/src/test/ui/resolve-conflict-item-vs-import.stderr index c01bf998e58..a52dcb37a2f 100644 --- a/src/test/ui/resolve-conflict-item-vs-import.stderr +++ b/src/test/ui/resolve-conflict-item-vs-import.stderr @@ -1,10 +1,10 @@ error[E0255]: the name `transmute` is defined multiple times - --> $DIR/resolve-conflict-item-vs-import.rs:14:1 + --> $DIR/resolve-conflict-item-vs-import.rs:13:1 | 11 | use std::mem::transmute; | ------------------- previous import of the value `transmute` here -... -14 | fn transmute() {} +12 | +13 | fn transmute() {} | ^^^^^^^^^^^^^^^^^ `transmute` redefined here | = note: `transmute` must be defined only once in the value namespace of this module diff --git a/src/test/ui/resolve-inconsistent-names.rs b/src/test/ui/resolve-inconsistent-names.rs index 7fee5aedb06..79d78b4ca59 100644 --- a/src/test/ui/resolve-inconsistent-names.rs +++ b/src/test/ui/resolve-inconsistent-names.rs @@ -13,9 +13,5 @@ fn main() { match y { a | b => {} //~ ERROR variable `a` is not bound in all patterns //~^ ERROR variable `b` is not bound in all patterns - //~| NOTE pattern doesn't bind `a` - //~| NOTE pattern doesn't bind `b` - //~| NOTE variable not in all patterns - //~| NOTE variable not in all patterns } } diff --git a/src/test/ui/resolve/issue-14254.rs b/src/test/ui/resolve/issue-14254.rs index 38444f69628..896085329ab 100644 --- a/src/test/ui/resolve/issue-14254.rs +++ b/src/test/ui/resolve/issue-14254.rs @@ -30,7 +30,6 @@ impl Foo for *const BarTy { //~^ ERROR cannot find function `baz` a; //~^ ERROR cannot find value `a` - //~| NOTE not found in this scope } } @@ -44,12 +43,10 @@ impl<'a> Foo for &'a BarTy { //~^ ERROR cannot find value `y` a; //~^ ERROR cannot find value `a` - //~| NOTE not found in this scope bah; //~^ ERROR cannot find value `bah` b; //~^ ERROR cannot find value `b` - //~| NOTE not found in this scope } } @@ -63,12 +60,10 @@ impl<'a> Foo for &'a mut BarTy { //~^ ERROR cannot find value `y` a; //~^ ERROR cannot find value `a` - //~| NOTE not found in this scope bah; //~^ ERROR cannot find value `bah` b; //~^ ERROR cannot find value `b` - //~| NOTE not found in this scope } } diff --git a/src/test/ui/resolve/issue-14254.stderr b/src/test/ui/resolve/issue-14254.stderr index a472fc861eb..1bb5a4cab49 100644 --- a/src/test/ui/resolve/issue-14254.stderr +++ b/src/test/ui/resolve/issue-14254.stderr @@ -11,135 +11,135 @@ error[E0425]: cannot find value `a` in this scope | ^ not found in this scope error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:39:9 + --> $DIR/issue-14254.rs:38:9 | -39 | baz(); +38 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `x` in this scope - --> $DIR/issue-14254.rs:41:9 + --> $DIR/issue-14254.rs:40:9 | -41 | x; +40 | x; | ^ help: try: `self.x` error[E0425]: cannot find value `y` in this scope - --> $DIR/issue-14254.rs:43:9 + --> $DIR/issue-14254.rs:42:9 | -43 | y; +42 | y; | ^ help: try: `self.y` error[E0425]: cannot find value `a` in this scope - --> $DIR/issue-14254.rs:45:9 + --> $DIR/issue-14254.rs:44:9 | -45 | a; +44 | a; | ^ not found in this scope error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:48:9 + --> $DIR/issue-14254.rs:46:9 | -48 | bah; +46 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find value `b` in this scope - --> $DIR/issue-14254.rs:50:9 + --> $DIR/issue-14254.rs:48:9 | -50 | b; +48 | b; | ^ not found in this scope error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:58:9 + --> $DIR/issue-14254.rs:55:9 | -58 | baz(); +55 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `x` in this scope - --> $DIR/issue-14254.rs:60:9 + --> $DIR/issue-14254.rs:57:9 | -60 | x; +57 | x; | ^ help: try: `self.x` error[E0425]: cannot find value `y` in this scope - --> $DIR/issue-14254.rs:62:9 + --> $DIR/issue-14254.rs:59:9 | -62 | y; +59 | y; | ^ help: try: `self.y` error[E0425]: cannot find value `a` in this scope - --> $DIR/issue-14254.rs:64:9 + --> $DIR/issue-14254.rs:61:9 | -64 | a; +61 | a; | ^ not found in this scope error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:67:9 + --> $DIR/issue-14254.rs:63:9 | -67 | bah; +63 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find value `b` in this scope - --> $DIR/issue-14254.rs:69:9 + --> $DIR/issue-14254.rs:65:9 | -69 | b; +65 | b; | ^ not found in this scope error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:77:9 + --> $DIR/issue-14254.rs:72:9 | -77 | baz(); +72 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:79:9 + --> $DIR/issue-14254.rs:74:9 | -79 | bah; +74 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:86:9 + --> $DIR/issue-14254.rs:81:9 | -86 | baz(); +81 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:88:9 + --> $DIR/issue-14254.rs:83:9 | -88 | bah; +83 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:95:9 + --> $DIR/issue-14254.rs:90:9 | -95 | baz(); +90 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:97:9 + --> $DIR/issue-14254.rs:92:9 | -97 | bah; +92 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:104:9 - | -104 | baz(); - | ^^^ help: try: `self.baz` + --> $DIR/issue-14254.rs:99:9 + | +99 | baz(); + | ^^^ help: try: `self.baz` error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:106:9 + --> $DIR/issue-14254.rs:101:9 | -106 | bah; +101 | bah; | ^^^ help: try: `Self::bah` error[E0425]: cannot find function `baz` in this scope - --> $DIR/issue-14254.rs:113:9 + --> $DIR/issue-14254.rs:108:9 | -113 | baz(); +108 | baz(); | ^^^ help: try: `self.baz` error[E0425]: cannot find value `bah` in this scope - --> $DIR/issue-14254.rs:115:9 + --> $DIR/issue-14254.rs:110:9 | -115 | bah; +110 | bah; | ^^^ help: try: `Self::bah` error[E0601]: main function not found diff --git a/src/test/ui/resolve/issue-17518.rs b/src/test/ui/resolve/issue-17518.rs index 295880c9499..1efbd1a004f 100644 --- a/src/test/ui/resolve/issue-17518.rs +++ b/src/test/ui/resolve/issue-17518.rs @@ -9,7 +9,6 @@ // except according to those terms. enum SomeEnum { -//~^ HELP you can import it into scope E } diff --git a/src/test/ui/resolve/issue-17518.stderr b/src/test/ui/resolve/issue-17518.stderr index 33f15267e4a..ffb110d5c3a 100644 --- a/src/test/ui/resolve/issue-17518.stderr +++ b/src/test/ui/resolve/issue-17518.stderr @@ -1,7 +1,7 @@ error[E0422]: cannot find struct, variant or union type `E` in this scope - --> $DIR/issue-17518.rs:17:5 + --> $DIR/issue-17518.rs:16:5 | -17 | E { name: "foobar" }; //~ ERROR cannot find struct, variant or union type `E` +16 | E { name: "foobar" }; //~ ERROR cannot find struct, variant or union type `E` | ^ not found in this scope help: possible candidate is found in another module, you can import it into scope | diff --git a/src/test/ui/resolve/issue-21221-2.rs b/src/test/ui/resolve/issue-21221-2.rs index c0ebc57efb5..4ddb4d669fc 100644 --- a/src/test/ui/resolve/issue-21221-2.rs +++ b/src/test/ui/resolve/issue-21221-2.rs @@ -9,7 +9,6 @@ // except according to those terms. pub mod foo { -//~^ HELP you can import it into scope pub mod bar { // note: trait T is not public, but being in the current // crate, it's fine to show it, since the programmer can diff --git a/src/test/ui/resolve/issue-21221-2.stderr b/src/test/ui/resolve/issue-21221-2.stderr index ffe57c5099d..0ae8052758d 100644 --- a/src/test/ui/resolve/issue-21221-2.stderr +++ b/src/test/ui/resolve/issue-21221-2.stderr @@ -1,7 +1,7 @@ error[E0405]: cannot find trait `T` in this scope - --> $DIR/issue-21221-2.rs:29:6 + --> $DIR/issue-21221-2.rs:28:6 | -29 | impl T for Foo { } +28 | impl T for Foo { } | ^ not found in this scope help: possible candidate is found in another module, you can import it into scope | diff --git a/src/test/ui/resolve/issue-21221-3.rs b/src/test/ui/resolve/issue-21221-3.rs index 046066b1986..a93330b2865 100644 --- a/src/test/ui/resolve/issue-21221-3.rs +++ b/src/test/ui/resolve/issue-21221-3.rs @@ -16,7 +16,6 @@ extern crate issue_21221_3; struct Foo; -//~^ HELP possible candidate is found in another module // NOTE: This shows only traits accessible from the current // crate, thus the two private entities: diff --git a/src/test/ui/resolve/issue-21221-3.stderr b/src/test/ui/resolve/issue-21221-3.stderr index f134b864414..b26a8cdacb0 100644 --- a/src/test/ui/resolve/issue-21221-3.stderr +++ b/src/test/ui/resolve/issue-21221-3.stderr @@ -1,7 +1,7 @@ error[E0405]: cannot find trait `OuterTrait` in this scope - --> $DIR/issue-21221-3.rs:26:6 + --> $DIR/issue-21221-3.rs:25:6 | -26 | impl OuterTrait for Foo {} +25 | impl OuterTrait for Foo {} | ^^^^^^^^^^ not found in this scope help: possible candidate is found in another module, you can import it into scope | diff --git a/src/test/ui/resolve/issue-21221-4.rs b/src/test/ui/resolve/issue-21221-4.rs index da8f2c6e778..ec6ad2a4829 100644 --- a/src/test/ui/resolve/issue-21221-4.rs +++ b/src/test/ui/resolve/issue-21221-4.rs @@ -16,7 +16,6 @@ extern crate issue_21221_4; struct Foo; -//~^ HELP possible candidate is found in another module impl T for Foo {} //~^ ERROR cannot find trait `T` diff --git a/src/test/ui/resolve/issue-21221-4.stderr b/src/test/ui/resolve/issue-21221-4.stderr index 0f3830bc258..0a22d8e1fe1 100644 --- a/src/test/ui/resolve/issue-21221-4.stderr +++ b/src/test/ui/resolve/issue-21221-4.stderr @@ -1,7 +1,7 @@ error[E0405]: cannot find trait `T` in this scope - --> $DIR/issue-21221-4.rs:21:6 + --> $DIR/issue-21221-4.rs:20:6 | -21 | impl T for Foo {} +20 | impl T for Foo {} | ^ not found in this scope help: possible candidate is found in another module, you can import it into scope | diff --git a/src/test/ui/resolve/issue-23305.rs b/src/test/ui/resolve/issue-23305.rs index 9f7b6ff5767..f249e0e1127 100644 --- a/src/test/ui/resolve/issue-23305.rs +++ b/src/test/ui/resolve/issue-23305.rs @@ -14,8 +14,5 @@ pub trait ToNbt<T> { impl ToNbt<Self> {} //~^ ERROR unsupported cyclic reference -//~| NOTE cyclic reference -//~| NOTE the cycle begins when processing -//~| NOTE ...which then again requires fn main() {} diff --git a/src/test/ui/resolve/issue-2356.rs b/src/test/ui/resolve/issue-2356.rs index d0490ff981d..9505e490197 100644 --- a/src/test/ui/resolve/issue-2356.rs +++ b/src/test/ui/resolve/issue-2356.rs @@ -26,7 +26,6 @@ impl MaybeDog { // If this provides a suggestion, it's a bug as MaybeDog doesn't impl Groom shave(); //~^ ERROR cannot find function `shave` - //~| NOTE not found in this scope } } @@ -49,12 +48,10 @@ impl Groom for cat { fn shave(other: usize) { whiskers -= other; //~^ ERROR cannot find value `whiskers` - //~| NOTE `self` value is only available in methods with `self` parameter shave(4); //~^ ERROR cannot find function `shave` purr(); //~^ ERROR cannot find function `purr` - //~| NOTE not found in this scope } } @@ -64,16 +61,12 @@ impl cat { fn purr_louder() { static_method(); //~^ ERROR cannot find function `static_method` - //~| NOTE not found in this scope purr(); //~^ ERROR cannot find function `purr` - //~| NOTE not found in this scope purr(); //~^ ERROR cannot find function `purr` - //~| NOTE not found in this scope purr(); //~^ ERROR cannot find function `purr` - //~| NOTE not found in this scope } } @@ -81,7 +74,6 @@ impl cat { fn meow() { if self.whiskers > 3 { //~^ ERROR expected value, found module `self` - //~| NOTE `self` value is only available in methods with `self` parameter println!("MEOW"); } } @@ -89,10 +81,8 @@ impl cat { fn purr(&self) { grow_older(); //~^ ERROR cannot find function `grow_older` - //~| NOTE not found in this scope shave(); //~^ ERROR cannot find function `shave` - //~| NOTE not found in this scope } fn burn_whiskers(&mut self) { @@ -103,15 +93,12 @@ impl cat { pub fn grow_older(other:usize) { whiskers = 4; //~^ ERROR cannot find value `whiskers` - //~| NOTE `self` value is only available in methods with `self` parameter purr_louder(); //~^ ERROR cannot find function `purr_louder` - //~| NOTE not found in this scope } } fn main() { self += 1; //~^ ERROR expected value, found module `self` - //~| NOTE `self` value is only available in methods with `self` parameter } diff --git a/src/test/ui/resolve/issue-2356.stderr b/src/test/ui/resolve/issue-2356.stderr index e98d132b519..db68167a573 100644 --- a/src/test/ui/resolve/issue-2356.stderr +++ b/src/test/ui/resolve/issue-2356.stderr @@ -5,105 +5,105 @@ error[E0425]: cannot find function `shave` in this scope | ^^^^^ not found in this scope error[E0425]: cannot find function `clone` in this scope - --> $DIR/issue-2356.rs:35:5 + --> $DIR/issue-2356.rs:34:5 | -35 | clone(); +34 | clone(); | ^^^^^ help: try: `self.clone` error[E0425]: cannot find function `default` in this scope - --> $DIR/issue-2356.rs:42:5 + --> $DIR/issue-2356.rs:41:5 | -42 | default(); +41 | default(); | ^^^^^^^ help: try: `Self::default` error[E0425]: cannot find value `whiskers` in this scope - --> $DIR/issue-2356.rs:50:5 + --> $DIR/issue-2356.rs:49:5 | -50 | whiskers -= other; +49 | whiskers -= other; | ^^^^^^^^ | | | `self` value is only available in methods with `self` parameter | help: try: `self.whiskers` error[E0425]: cannot find function `shave` in this scope - --> $DIR/issue-2356.rs:53:5 + --> $DIR/issue-2356.rs:51:5 | -53 | shave(4); +51 | shave(4); | ^^^^^ help: try: `Self::shave` error[E0425]: cannot find function `purr` in this scope - --> $DIR/issue-2356.rs:55:5 + --> $DIR/issue-2356.rs:53:5 | -55 | purr(); +53 | purr(); | ^^^^ not found in this scope error[E0425]: cannot find function `static_method` in this scope - --> $DIR/issue-2356.rs:65:9 + --> $DIR/issue-2356.rs:62:9 | -65 | static_method(); +62 | static_method(); | ^^^^^^^^^^^^^ not found in this scope error[E0425]: cannot find function `purr` in this scope - --> $DIR/issue-2356.rs:68:9 + --> $DIR/issue-2356.rs:64:9 | -68 | purr(); +64 | purr(); | ^^^^ not found in this scope error[E0425]: cannot find function `purr` in this scope - --> $DIR/issue-2356.rs:71:9 + --> $DIR/issue-2356.rs:66:9 | -71 | purr(); +66 | purr(); | ^^^^ not found in this scope error[E0425]: cannot find function `purr` in this scope - --> $DIR/issue-2356.rs:74:9 + --> $DIR/issue-2356.rs:68:9 | -74 | purr(); +68 | purr(); | ^^^^ not found in this scope error[E0424]: expected value, found module `self` - --> $DIR/issue-2356.rs:82:8 + --> $DIR/issue-2356.rs:75:8 | -82 | if self.whiskers > 3 { +75 | if self.whiskers > 3 { | ^^^^ `self` value is only available in methods with `self` parameter error[E0425]: cannot find function `grow_older` in this scope - --> $DIR/issue-2356.rs:90:5 + --> $DIR/issue-2356.rs:82:5 | -90 | grow_older(); +82 | grow_older(); | ^^^^^^^^^^ not found in this scope error[E0425]: cannot find function `shave` in this scope - --> $DIR/issue-2356.rs:93:5 + --> $DIR/issue-2356.rs:84:5 | -93 | shave(); +84 | shave(); | ^^^^^ not found in this scope error[E0425]: cannot find value `whiskers` in this scope - --> $DIR/issue-2356.rs:99:5 + --> $DIR/issue-2356.rs:89:5 | -99 | whiskers = 0; +89 | whiskers = 0; | ^^^^^^^^ help: try: `self.whiskers` error[E0425]: cannot find value `whiskers` in this scope - --> $DIR/issue-2356.rs:104:5 - | -104 | whiskers = 4; - | ^^^^^^^^ - | | - | `self` value is only available in methods with `self` parameter - | help: try: `self.whiskers` + --> $DIR/issue-2356.rs:94:5 + | +94 | whiskers = 4; + | ^^^^^^^^ + | | + | `self` value is only available in methods with `self` parameter + | help: try: `self.whiskers` error[E0425]: cannot find function `purr_louder` in this scope - --> $DIR/issue-2356.rs:107:5 - | -107 | purr_louder(); - | ^^^^^^^^^^^ not found in this scope + --> $DIR/issue-2356.rs:96:5 + | +96 | purr_louder(); + | ^^^^^^^^^^^ not found in this scope error[E0424]: expected value, found module `self` - --> $DIR/issue-2356.rs:114:5 + --> $DIR/issue-2356.rs:102:5 | -114 | self += 1; +102 | self += 1; | ^^^^ `self` value is only available in methods with `self` parameter error: aborting due to 17 previous errors diff --git a/src/test/ui/resolve/issue-24968.rs b/src/test/ui/resolve/issue-24968.rs index 6065646401f..0bd08f89764 100644 --- a/src/test/ui/resolve/issue-24968.rs +++ b/src/test/ui/resolve/issue-24968.rs @@ -10,7 +10,6 @@ fn foo(_: Self) { //~^ ERROR cannot find type `Self` -//~| NOTE `Self` is only available in traits and impls } fn main() {} diff --git a/src/test/ui/resolve/issue-39226.rs b/src/test/ui/resolve/issue-39226.rs index f58f7cc3869..9d7291c4059 100644 --- a/src/test/ui/resolve/issue-39226.rs +++ b/src/test/ui/resolve/issue-39226.rs @@ -19,7 +19,5 @@ fn main() { let s: Something = Something { handle: Handle //~^ ERROR expected value, found struct `Handle` - //~| NOTE did you mean `Handle { /* fields */ }`? - //~| NOTE did you mean `handle` }; } diff --git a/src/test/ui/resolve/issue-5035.rs b/src/test/ui/resolve/issue-5035.rs index 06a753cca85..e9b50dddd30 100644 --- a/src/test/ui/resolve/issue-5035.rs +++ b/src/test/ui/resolve/issue-5035.rs @@ -11,8 +11,6 @@ trait I {} type K = I; impl K for isize {} //~ ERROR expected trait, found type alias `K` - //~| NOTE type aliases cannot be used for traits - //~| NOTE did you mean `I` use ImportError; //~ ERROR unresolved import `ImportError` [E0432] //~^ no `ImportError` in the root diff --git a/src/test/ui/resolve/issue-5035.stderr b/src/test/ui/resolve/issue-5035.stderr index c9de39759b5..3b37f5d4c83 100644 --- a/src/test/ui/resolve/issue-5035.stderr +++ b/src/test/ui/resolve/issue-5035.stderr @@ -1,7 +1,7 @@ error[E0432]: unresolved import `ImportError` - --> $DIR/issue-5035.rs:17:5 + --> $DIR/issue-5035.rs:15:5 | -17 | use ImportError; //~ ERROR unresolved import `ImportError` [E0432] +15 | use ImportError; //~ ERROR unresolved import `ImportError` [E0432] | ^^^^^^^^^^^ no `ImportError` in the root error[E0404]: expected trait, found type alias `K` diff --git a/src/test/ui/resolve/issue-6702.rs b/src/test/ui/resolve/issue-6702.rs index b391ddf3469..8c5897d1d59 100644 --- a/src/test/ui/resolve/issue-6702.rs +++ b/src/test/ui/resolve/issue-6702.rs @@ -15,5 +15,4 @@ struct Monster { fn main() { let _m = Monster(); //~ ERROR expected function, found struct `Monster` - //~^ NOTE did you mean `Monster { /* fields */ }`? } diff --git a/src/test/ui/resolve/privacy-struct-ctor.rs b/src/test/ui/resolve/privacy-struct-ctor.rs index fe3774af47d..eb6edae7381 100644 --- a/src/test/ui/resolve/privacy-struct-ctor.rs +++ b/src/test/ui/resolve/privacy-struct-ctor.rs @@ -25,9 +25,6 @@ mod m { n::Z; //~ ERROR tuple struct `Z` is private Z; //~^ ERROR expected value, found struct `Z` - //~| NOTE constructor is not visible here due to private fields - //~| NOTE did you mean `S` - //~| NOTE did you mean `Z { /* fields */ }` } } @@ -37,14 +34,10 @@ fn main() { m::S; //~ ERROR tuple struct `S` is private S; //~^ ERROR expected value, found struct `S` - //~| NOTE constructor is not visible here due to private fields - //~| NOTE did you mean `S { /* fields */ }` m::n::Z; //~ ERROR tuple struct `Z` is private xcrate::m::S; //~ ERROR tuple struct `S` is private xcrate::S; //~^ ERROR expected value, found struct `xcrate::S` - //~| NOTE did you mean `xcrate::S { /* fields */ }` - //~| NOTE constructor is not visible here due to private fields xcrate::m::n::Z; //~ ERROR tuple struct `Z` is private } diff --git a/src/test/ui/resolve/privacy-struct-ctor.stderr b/src/test/ui/resolve/privacy-struct-ctor.stderr index 81c52a1b7c3..39bedf59641 100644 --- a/src/test/ui/resolve/privacy-struct-ctor.stderr +++ b/src/test/ui/resolve/privacy-struct-ctor.stderr @@ -13,29 +13,29 @@ help: possible better candidate is found in another module, you can import it in | error[E0423]: expected value, found struct `S` - --> $DIR/privacy-struct-ctor.rs:38:5 + --> $DIR/privacy-struct-ctor.rs:35:5 | -38 | S; +35 | S; | ^ | | | constructor is not visible here due to private fields | did you mean `S { /* fields */ }`? help: possible better candidate is found in another module, you can import it into scope | -34 | use m::S; +31 | use m::S; | error[E0423]: expected value, found struct `xcrate::S` - --> $DIR/privacy-struct-ctor.rs:45:5 + --> $DIR/privacy-struct-ctor.rs:40:5 | -45 | xcrate::S; +40 | xcrate::S; | ^^^^^^^^^ | | | constructor is not visible here due to private fields | did you mean `xcrate::S { /* fields */ }`? help: possible better candidate is found in another module, you can import it into scope | -34 | use m::S; +31 | use m::S; | error[E0603]: tuple struct `Z` is private @@ -45,27 +45,27 @@ error[E0603]: tuple struct `Z` is private | ^^^^ error[E0603]: tuple struct `S` is private - --> $DIR/privacy-struct-ctor.rs:37:5 + --> $DIR/privacy-struct-ctor.rs:34:5 | -37 | m::S; //~ ERROR tuple struct `S` is private +34 | m::S; //~ ERROR tuple struct `S` is private | ^^^^ error[E0603]: tuple struct `Z` is private - --> $DIR/privacy-struct-ctor.rs:42:5 + --> $DIR/privacy-struct-ctor.rs:37:5 | -42 | m::n::Z; //~ ERROR tuple struct `Z` is private +37 | m::n::Z; //~ ERROR tuple struct `Z` is private | ^^^^^^^ error[E0603]: tuple struct `S` is private - --> $DIR/privacy-struct-ctor.rs:44:5 + --> $DIR/privacy-struct-ctor.rs:39:5 | -44 | xcrate::m::S; //~ ERROR tuple struct `S` is private +39 | xcrate::m::S; //~ ERROR tuple struct `S` is private | ^^^^^^^^^^^^ error[E0603]: tuple struct `Z` is private - --> $DIR/privacy-struct-ctor.rs:49:5 + --> $DIR/privacy-struct-ctor.rs:42:5 | -49 | xcrate::m::n::Z; //~ ERROR tuple struct `Z` is private +42 | xcrate::m::n::Z; //~ ERROR tuple struct `Z` is private | ^^^^^^^^^^^^^^^ error: aborting due to 8 previous errors diff --git a/src/test/ui/resolve/resolve-assoc-suggestions.rs b/src/test/ui/resolve/resolve-assoc-suggestions.rs index 62d2dc7a8fa..f3bc8107360 100644 --- a/src/test/ui/resolve/resolve-assoc-suggestions.rs +++ b/src/test/ui/resolve/resolve-assoc-suggestions.rs @@ -25,10 +25,8 @@ impl Tr for S { fn method(&self) { let _: field; //~^ ERROR cannot find type `field` - //~| NOTE not found in this scope let field(..); //~^ ERROR cannot find tuple struct/variant `field` - //~| NOTE not found in this scope field; //~^ ERROR cannot find value `field` @@ -36,17 +34,13 @@ impl Tr for S { //~^ ERROR cannot find type `Type` let Type(..); //~^ ERROR cannot find tuple struct/variant `Type` - //~| NOTE not found in this scope Type; //~^ ERROR cannot find value `Type` - //~| NOTE not found in this scope let _: method; //~^ ERROR cannot find type `method` - //~| NOTE not found in this scope let method(..); //~^ ERROR cannot find tuple struct/variant `method` - //~| NOTE not found in this scope method; //~^ ERROR cannot find value `method` } diff --git a/src/test/ui/resolve/resolve-assoc-suggestions.stderr b/src/test/ui/resolve/resolve-assoc-suggestions.stderr index 4bb3947a028..3a6eeda833a 100644 --- a/src/test/ui/resolve/resolve-assoc-suggestions.stderr +++ b/src/test/ui/resolve/resolve-assoc-suggestions.stderr @@ -5,51 +5,51 @@ error[E0412]: cannot find type `field` in this scope | ^^^^^ not found in this scope error[E0531]: cannot find tuple struct/variant `field` in this scope - --> $DIR/resolve-assoc-suggestions.rs:29:13 + --> $DIR/resolve-assoc-suggestions.rs:28:13 | -29 | let field(..); +28 | let field(..); | ^^^^^ not found in this scope error[E0425]: cannot find value `field` in this scope - --> $DIR/resolve-assoc-suggestions.rs:32:9 + --> $DIR/resolve-assoc-suggestions.rs:30:9 | -32 | field; +30 | field; | ^^^^^ help: try: `self.field` error[E0412]: cannot find type `Type` in this scope - --> $DIR/resolve-assoc-suggestions.rs:35:16 + --> $DIR/resolve-assoc-suggestions.rs:33:16 | -35 | let _: Type; +33 | let _: Type; | ^^^^ help: try: `Self::Type` error[E0531]: cannot find tuple struct/variant `Type` in this scope - --> $DIR/resolve-assoc-suggestions.rs:37:13 + --> $DIR/resolve-assoc-suggestions.rs:35:13 | -37 | let Type(..); +35 | let Type(..); | ^^^^ not found in this scope error[E0425]: cannot find value `Type` in this scope - --> $DIR/resolve-assoc-suggestions.rs:40:9 + --> $DIR/resolve-assoc-suggestions.rs:37:9 | -40 | Type; +37 | Type; | ^^^^ not found in this scope error[E0412]: cannot find type `method` in this scope - --> $DIR/resolve-assoc-suggestions.rs:44:16 + --> $DIR/resolve-assoc-suggestions.rs:40:16 | -44 | let _: method; +40 | let _: method; | ^^^^^^ not found in this scope error[E0531]: cannot find tuple struct/variant `method` in this scope - --> $DIR/resolve-assoc-suggestions.rs:47:13 + --> $DIR/resolve-assoc-suggestions.rs:42:13 | -47 | let method(..); +42 | let method(..); | ^^^^^^ not found in this scope error[E0425]: cannot find value `method` in this scope - --> $DIR/resolve-assoc-suggestions.rs:50:9 + --> $DIR/resolve-assoc-suggestions.rs:44:9 | -50 | method; +44 | method; | ^^^^^^ help: try: `self.method` error: aborting due to 9 previous errors diff --git a/src/test/ui/resolve/resolve-hint-macro.rs b/src/test/ui/resolve/resolve-hint-macro.rs index 72fd9a79376..cc9f73b871c 100644 --- a/src/test/ui/resolve/resolve-hint-macro.rs +++ b/src/test/ui/resolve/resolve-hint-macro.rs @@ -11,5 +11,4 @@ fn main() { assert(true); //~^ ERROR expected function, found macro `assert` - //~| NOTE did you mean `assert!(...)`? } diff --git a/src/test/ui/resolve/resolve-speculative-adjustment.rs b/src/test/ui/resolve/resolve-speculative-adjustment.rs index 120237b662d..fb5ed150bf4 100644 --- a/src/test/ui/resolve/resolve-speculative-adjustment.rs +++ b/src/test/ui/resolve/resolve-speculative-adjustment.rs @@ -26,10 +26,8 @@ impl Tr for S { // "did you mean" messages are not printed. field; //~^ ERROR cannot find value `field` - //~| NOTE not found in this scope method(); //~^ ERROR cannot find function `method` - //~| NOTE not found in this scope } field; diff --git a/src/test/ui/resolve/resolve-speculative-adjustment.stderr b/src/test/ui/resolve/resolve-speculative-adjustment.stderr index 2d74e427ea0..45512b26705 100644 --- a/src/test/ui/resolve/resolve-speculative-adjustment.stderr +++ b/src/test/ui/resolve/resolve-speculative-adjustment.stderr @@ -5,21 +5,21 @@ error[E0425]: cannot find value `field` in this scope | ^^^^^ not found in this scope error[E0425]: cannot find function `method` in this scope - --> $DIR/resolve-speculative-adjustment.rs:30:13 + --> $DIR/resolve-speculative-adjustment.rs:29:13 | -30 | method(); +29 | method(); | ^^^^^^ not found in this scope error[E0425]: cannot find value `field` in this scope - --> $DIR/resolve-speculative-adjustment.rs:35:9 + --> $DIR/resolve-speculative-adjustment.rs:33:9 | -35 | field; +33 | field; | ^^^^^ help: try: `self.field` error[E0425]: cannot find function `method` in this scope - --> $DIR/resolve-speculative-adjustment.rs:37:9 + --> $DIR/resolve-speculative-adjustment.rs:35:9 | -37 | method(); +35 | method(); | ^^^^^^ help: try: `self.method` error: aborting due to 4 previous errors diff --git a/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.rs b/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.rs index 70d072a388b..981a853a040 100644 --- a/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.rs +++ b/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.rs @@ -26,53 +26,42 @@ pub mod a { fn h1() -> i32 { a.I //~^ ERROR expected value, found module `a` - //~| NOTE did you mean `a::I`? } fn h2() -> i32 { a.g() //~^ ERROR expected value, found module `a` - //~| NOTE did you mean `a::g(...)`? } fn h3() -> i32 { a.b.J //~^ ERROR expected value, found module `a` - //~| NOTE did you mean `a::b`? } fn h4() -> i32 { a::b.J //~^ ERROR expected value, found module `a::b` - //~| NOTE did you mean `a::b::J`? - //~| NOTE did you mean `I` } fn h5() { a.b.f(); //~^ ERROR expected value, found module `a` - //~| NOTE did you mean `a::b`? let v = Vec::new(); v.push(a::b); //~^ ERROR expected value, found module `a::b` - //~| NOTE did you mean `I` } fn h6() -> i32 { a::b.f() //~^ ERROR expected value, found module `a::b` - //~| NOTE did you mean `a::b::f(...)`? - //~| NOTE did you mean `I` } fn h7() { a::b //~^ ERROR expected value, found module `a::b` - //~| NOTE did you mean `I` } fn h8() -> i32 { a::b() //~^ ERROR expected function, found module `a::b` - //~| NOTE did you mean `I` } diff --git a/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr b/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr index fd5de16bdd1..861026ade18 100644 --- a/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr +++ b/src/test/ui/resolve/suggest-path-instead-of-mod-dot-item.stderr @@ -7,67 +7,67 @@ error[E0423]: expected value, found module `a` | did you mean `a::I`? error[E0423]: expected value, found module `a` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:33:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:32:5 | -33 | a.g() +32 | a.g() | ^---- | | | did you mean `a::g(...)`? error[E0423]: expected value, found module `a` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:39:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:37:5 | -39 | a.b.J +37 | a.b.J | ^-- | | | did you mean `a::b`? error[E0423]: expected value, found module `a::b` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:45:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:42:5 | -45 | a::b.J +42 | a::b.J | ^^^--- | | | | | did you mean `I`? | did you mean `a::b::J`? error[E0423]: expected value, found module `a` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:52:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:47:5 | -52 | a.b.f(); +47 | a.b.f(); | ^-- | | | did you mean `a::b`? error[E0423]: expected value, found module `a::b` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:56:12 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:50:12 | -56 | v.push(a::b); +50 | v.push(a::b); | ^^^- | | | did you mean `I`? error[E0423]: expected value, found module `a::b` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:62:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:55:5 | -62 | a::b.f() +55 | a::b.f() | ^^^----- | | | | | did you mean `I`? | did you mean `a::b::f(...)`? error[E0423]: expected value, found module `a::b` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:69:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:60:5 | -69 | a::b +60 | a::b | ^^^- | | | did you mean `I`? error[E0423]: expected function, found module `a::b` - --> $DIR/suggest-path-instead-of-mod-dot-item.rs:75:5 + --> $DIR/suggest-path-instead-of-mod-dot-item.rs:65:5 | -75 | a::b() +65 | a::b() | ^^^- | | | did you mean `I`? diff --git a/src/test/ui/resolve/token-error-correct-2.rs b/src/test/ui/resolve/token-error-correct-2.rs index 121a565b2b1..e49374f9ce6 100644 --- a/src/test/ui/resolve/token-error-correct-2.rs +++ b/src/test/ui/resolve/token-error-correct-2.rs @@ -12,8 +12,6 @@ fn main() { if foo { - //~^ NOTE: unclosed delimiter - //~| ERROR: cannot find value `foo` - //~| NOTE: not found in this scope + //~^ ERROR: cannot find value `foo` ) //~ ERROR: incorrect close delimiter: `)` } diff --git a/src/test/ui/resolve/token-error-correct-2.stderr b/src/test/ui/resolve/token-error-correct-2.stderr index feb12612e66..00bd5dba8d9 100644 --- a/src/test/ui/resolve/token-error-correct-2.stderr +++ b/src/test/ui/resolve/token-error-correct-2.stderr @@ -1,7 +1,7 @@ error: incorrect close delimiter: `)` - --> $DIR/token-error-correct-2.rs:18:5 + --> $DIR/token-error-correct-2.rs:16:5 | -18 | ) //~ ERROR: incorrect close delimiter: `)` +16 | ) //~ ERROR: incorrect close delimiter: `)` | ^ | note: unclosed delimiter diff --git a/src/test/ui/resolve/token-error-correct-3.rs b/src/test/ui/resolve/token-error-correct-3.rs index 746eee9ecd7..6d216178a75 100644 --- a/src/test/ui/resolve/token-error-correct-3.rs +++ b/src/test/ui/resolve/token-error-correct-3.rs @@ -19,10 +19,7 @@ pub mod raw { callback: F) -> io::Result<bool> { if !is_directory(path.as_ref()) { //~ ERROR: cannot find function `is_directory` - //~^ NOTE: not found in this scope - callback(path.as_ref(); //~ NOTE: unclosed delimiter - //~^ NOTE: expected one of - //~| ERROR expected one of + callback(path.as_ref(); //~ ERROR expected one of fs::create_dir_all(path.as_ref()).map(|()| true) //~ ERROR: mismatched types //~^ expected (), found enum `std::result::Result` //~| expected type `()` diff --git a/src/test/ui/resolve/token-error-correct-3.stderr b/src/test/ui/resolve/token-error-correct-3.stderr index b500a349f6c..f2281a24e23 100644 --- a/src/test/ui/resolve/token-error-correct-3.stderr +++ b/src/test/ui/resolve/token-error-correct-3.stderr @@ -1,28 +1,28 @@ error: incorrect close delimiter: `}` - --> $DIR/token-error-correct-3.rs:31:9 + --> $DIR/token-error-correct-3.rs:28:9 | -31 | } else { //~ ERROR: incorrect close delimiter: `}` +28 | } else { //~ ERROR: incorrect close delimiter: `}` | ^ | note: unclosed delimiter - --> $DIR/token-error-correct-3.rs:23:21 + --> $DIR/token-error-correct-3.rs:22:21 | -23 | callback(path.as_ref(); //~ NOTE: unclosed delimiter +22 | callback(path.as_ref(); //~ ERROR expected one of | ^ error: expected one of `,`, `.`, `?`, or an operator, found `;` - --> $DIR/token-error-correct-3.rs:23:35 + --> $DIR/token-error-correct-3.rs:22:35 | -23 | callback(path.as_ref(); //~ NOTE: unclosed delimiter +22 | callback(path.as_ref(); //~ ERROR expected one of | ^ expected one of `,`, `.`, `?`, or an operator here error: expected one of `.`, `;`, `?`, `}`, or an operator, found `)` - --> $DIR/token-error-correct-3.rs:31:9 + --> $DIR/token-error-correct-3.rs:28:9 | -26 | fs::create_dir_all(path.as_ref()).map(|()| true) //~ ERROR: mismatched types +23 | fs::create_dir_all(path.as_ref()).map(|()| true) //~ ERROR: mismatched types | - expected one of `.`, `;`, `?`, `}`, or an operator here ... -31 | } else { //~ ERROR: incorrect close delimiter: `}` +28 | } else { //~ ERROR: incorrect close delimiter: `}` | ^ unexpected token error[E0425]: cannot find function `is_directory` in this scope @@ -32,9 +32,9 @@ error[E0425]: cannot find function `is_directory` in this scope | ^^^^^^^^^^^^ not found in this scope error[E0308]: mismatched types - --> $DIR/token-error-correct-3.rs:26:13 + --> $DIR/token-error-correct-3.rs:23:13 | -26 | fs::create_dir_all(path.as_ref()).map(|()| true) //~ ERROR: mismatched types +23 | fs::create_dir_all(path.as_ref()).map(|()| true) //~ ERROR: mismatched types | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- help: try adding a semicolon: `;` | | | expected (), found enum `std::result::Result` diff --git a/src/test/ui/resolve/token-error-correct.rs b/src/test/ui/resolve/token-error-correct.rs index 0c7fe0df1c7..f8b5e670b84 100644 --- a/src/test/ui/resolve/token-error-correct.rs +++ b/src/test/ui/resolve/token-error-correct.rs @@ -12,9 +12,7 @@ fn main() { foo(bar(; - //~^ NOTE: unclosed delimiter - //~| NOTE: unclosed delimiter - //~| ERROR: expected expression, found `;` + //~^ ERROR: expected expression, found `;` } //~^ ERROR: incorrect close delimiter: `}` //~| ERROR: incorrect close delimiter: `}` diff --git a/src/test/ui/resolve/token-error-correct.stderr b/src/test/ui/resolve/token-error-correct.stderr index cad58b30df2..0e396f6254a 100644 --- a/src/test/ui/resolve/token-error-correct.stderr +++ b/src/test/ui/resolve/token-error-correct.stderr @@ -1,7 +1,7 @@ error: incorrect close delimiter: `}` - --> $DIR/token-error-correct.rs:18:1 + --> $DIR/token-error-correct.rs:16:1 | -18 | } +16 | } | ^ | note: unclosed delimiter @@ -11,9 +11,9 @@ note: unclosed delimiter | ^ error: incorrect close delimiter: `}` - --> $DIR/token-error-correct.rs:18:1 + --> $DIR/token-error-correct.rs:16:1 | -18 | } +16 | } | ^ | note: unclosed delimiter @@ -29,9 +29,9 @@ error: expected expression, found `;` | ^ error: expected expression, found `)` - --> $DIR/token-error-correct.rs:18:1 + --> $DIR/token-error-correct.rs:16:1 | -18 | } +16 | } | ^ error: aborting due to 4 previous errors diff --git a/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.rs b/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.rs index ee4c40f2c8d..9d5e2e89666 100644 --- a/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.rs +++ b/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.rs @@ -10,12 +10,10 @@ fn f<F:Nonexist(isize) -> isize>(x: F) {} //~^ ERROR cannot find trait `Nonexist` -//~| NOTE not found in this scope type Typedef = isize; fn g<F:Typedef(isize) -> isize>(x: F) {} //~^ ERROR expected trait, found type alias `Typedef` -//~| NOTE type aliases cannot be used for traits fn main() {} diff --git a/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr b/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr index 015dbfc3dc7..eaee35451ec 100644 --- a/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr +++ b/src/test/ui/resolve/unboxed-closure-sugar-nonexistent-trait.stderr @@ -5,9 +5,9 @@ error[E0405]: cannot find trait `Nonexist` in this scope | ^^^^^^^^ not found in this scope error[E0404]: expected trait, found type alias `Typedef` - --> $DIR/unboxed-closure-sugar-nonexistent-trait.rs:17:8 + --> $DIR/unboxed-closure-sugar-nonexistent-trait.rs:16:8 | -17 | fn g<F:Typedef(isize) -> isize>(x: F) {} +16 | fn g<F:Typedef(isize) -> isize>(x: F) {} | ^^^^^^^^^^^^^^^^^^^^^^^ type aliases cannot be used for traits error: cannot continue compilation due to previous error diff --git a/src/test/ui/resolve/unresolved_static_type_field.rs b/src/test/ui/resolve/unresolved_static_type_field.rs index 711e46b1248..9ba39ce08c7 100644 --- a/src/test/ui/resolve/unresolved_static_type_field.rs +++ b/src/test/ui/resolve/unresolved_static_type_field.rs @@ -18,7 +18,6 @@ impl Foo { fn bar() { f(cx); //~^ ERROR cannot find value `cx` in this scope - //~| NOTE `self` value is only available in methods with `self` parameter } } diff --git a/src/test/ui/self-impl.rs b/src/test/ui/self-impl.rs index 860e69fcaec..1494d9ca574 100644 --- a/src/test/ui/self-impl.rs +++ b/src/test/ui/self-impl.rs @@ -32,12 +32,8 @@ impl Bar { fn f() { let _: <Self>::Baz = true; //~^ ERROR ambiguous associated type - //~| NOTE ambiguous associated type - //~| NOTE specify the type using the syntax `<Bar as Trait>::Baz` let _: Self::Baz = true; //~^ ERROR ambiguous associated type - //~| NOTE ambiguous associated type - //~| NOTE specify the type using the syntax `<Bar as Trait>::Baz` } } diff --git a/src/test/ui/self-impl.stderr b/src/test/ui/self-impl.stderr index ab056127ee6..e1be5c18a68 100644 --- a/src/test/ui/self-impl.stderr +++ b/src/test/ui/self-impl.stderr @@ -7,9 +7,9 @@ error[E0223]: ambiguous associated type = note: specify the type using the syntax `<Bar as Trait>::Baz` error[E0223]: ambiguous associated type - --> $DIR/self-impl.rs:37:16 + --> $DIR/self-impl.rs:35:16 | -37 | let _: Self::Baz = true; +35 | let _: Self::Baz = true; | ^^^^^^^^^ ambiguous associated type | = note: specify the type using the syntax `<Bar as Trait>::Baz` diff --git a/src/test/ui/shadowed-lifetime.rs b/src/test/ui/shadowed-lifetime.rs index 31283623a3c..63e4038398d 100644 --- a/src/test/ui/shadowed-lifetime.rs +++ b/src/test/ui/shadowed-lifetime.rs @@ -13,18 +13,14 @@ struct Foo<'a>(&'a isize); impl<'a> Foo<'a> { - //~^ NOTE first declared here fn shadow_in_method<'a>(&'a self) -> &'a isize { //~^ ERROR lifetime name `'a` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'a already in scope self.0 } fn shadow_in_type<'b>(&'b self) -> &'b isize { - //~^ NOTE first declared here let x: for<'b> fn(&'b isize) = panic!(); //~^ ERROR lifetime name `'b` shadows a lifetime name that is already in scope - //~| NOTE lifetime 'b already in scope self.0 } diff --git a/src/test/ui/shadowed-lifetime.stderr b/src/test/ui/shadowed-lifetime.stderr index d4c6a7c9aaf..8eaa3e59565 100644 --- a/src/test/ui/shadowed-lifetime.stderr +++ b/src/test/ui/shadowed-lifetime.stderr @@ -1,19 +1,17 @@ error[E0496]: lifetime name `'a` shadows a lifetime name that is already in scope - --> $DIR/shadowed-lifetime.rs:17:25 + --> $DIR/shadowed-lifetime.rs:16:25 | 15 | impl<'a> Foo<'a> { | -- first declared here -16 | //~^ NOTE first declared here -17 | fn shadow_in_method<'a>(&'a self) -> &'a isize { +16 | fn shadow_in_method<'a>(&'a self) -> &'a isize { | ^^ lifetime 'a already in scope error[E0496]: lifetime name `'b` shadows a lifetime name that is already in scope - --> $DIR/shadowed-lifetime.rs:25:20 + --> $DIR/shadowed-lifetime.rs:22:20 | -23 | fn shadow_in_type<'b>(&'b self) -> &'b isize { +21 | fn shadow_in_type<'b>(&'b self) -> &'b isize { | -- first declared here -24 | //~^ NOTE first declared here -25 | let x: for<'b> fn(&'b isize) = panic!(); +22 | let x: for<'b> fn(&'b isize) = panic!(); | ^^ lifetime 'b already in scope error: aborting due to 2 previous errors diff --git a/src/test/ui/span/E0046.rs b/src/test/ui/span/E0046.rs index 9e757860a85..53813a4f586 100644 --- a/src/test/ui/span/E0046.rs +++ b/src/test/ui/span/E0046.rs @@ -10,14 +10,12 @@ trait Foo { fn foo(); - //~^ NOTE `foo` from trait } struct Bar; impl Foo for Bar {} //~^ ERROR E0046 -//~| NOTE missing `foo` in implementation fn main() { } diff --git a/src/test/ui/span/E0046.stderr b/src/test/ui/span/E0046.stderr index 729a5156124..cd963de441b 100644 --- a/src/test/ui/span/E0046.stderr +++ b/src/test/ui/span/E0046.stderr @@ -1,10 +1,10 @@ error[E0046]: not all trait items implemented, missing: `foo` - --> $DIR/E0046.rs:18:1 + --> $DIR/E0046.rs:17:1 | 12 | fn foo(); | --------- `foo` from trait ... -18 | impl Foo for Bar {} +17 | impl Foo for Bar {} | ^^^^^^^^^^^^^^^^^^^ missing `foo` in implementation error: aborting due to previous error diff --git a/src/test/ui/span/borrowck-call-is-borrow-issue-12224.rs b/src/test/ui/span/borrowck-call-is-borrow-issue-12224.rs index 1c45771ff8a..66673c152d5 100644 --- a/src/test/ui/span/borrowck-call-is-borrow-issue-12224.rs +++ b/src/test/ui/span/borrowck-call-is-borrow-issue-12224.rs @@ -21,12 +21,8 @@ struct Test<'a> { fn call<F>(mut f: F) where F: FnMut(Fn) { f(Box::new(|| { //~^ ERROR: cannot borrow `f` as mutable more than once - //~| NOTE first mutable borrow occurs here - //~| NOTE second mutable borrow occurs here f((Box::new(|| {}))) - //~^ NOTE borrow occurs due to use of `f` in closure })); - //~^ NOTE first borrow ends here } fn test1() { @@ -36,10 +32,8 @@ fn test1() { } fn test2<F>(f: &F) where F: FnMut() { - //~^ NOTE use `&mut F` here to make mutable (*f)(); //~^ ERROR cannot borrow immutable borrowed content `*f` as mutable - //~| NOTE cannot borrow as mutable } fn test3<F>(f: &mut F) where F: FnMut() { @@ -47,10 +41,8 @@ fn test3<F>(f: &mut F) where F: FnMut() { } fn test4(f: &Test) { - //~^ NOTE use `&mut Test` here to make mutable f.f.call_mut(()) //~^ ERROR: cannot borrow immutable `Box` content `*f.f` as mutable - //~| NOTE cannot borrow as mutable } fn test5(f: &mut Test) { @@ -67,14 +59,10 @@ fn test6() { fn test7() { fn foo<F>(_: F) where F: FnMut(Box<FnMut(isize)>, isize) {} let mut f = |g: Box<FnMut(isize)>, b: isize| {}; - //~^ NOTE captured outer variable f(Box::new(|a| { - //~^ NOTE borrow of `f` occurs here foo(f); //~^ ERROR cannot move `f` into closure because it is borrowed //~| ERROR cannot move out of captured outer variable in an `FnMut` closure - //~| NOTE move into closure occurs here - //~| NOTE cannot move out of captured outer variable in an `FnMut` closure }), 3); } diff --git a/src/test/ui/span/borrowck-call-is-borrow-issue-12224.stderr b/src/test/ui/span/borrowck-call-is-borrow-issue-12224.stderr index 0a1429d5509..542ee997046 100644 --- a/src/test/ui/span/borrowck-call-is-borrow-issue-12224.stderr +++ b/src/test/ui/span/borrowck-call-is-borrow-issue-12224.stderr @@ -5,47 +5,43 @@ error[E0499]: cannot borrow `f` as mutable more than once at a time | - ^^ second mutable borrow occurs here | | | first mutable borrow occurs here -... -26 | f((Box::new(|| {}))) +23 | //~^ ERROR: cannot borrow `f` as mutable more than once +24 | f((Box::new(|| {}))) | - borrow occurs due to use of `f` in closure -27 | //~^ NOTE borrow occurs due to use of `f` in closure -28 | })); +25 | })); | - first borrow ends here error[E0596]: cannot borrow immutable borrowed content `*f` as mutable - --> $DIR/borrowck-call-is-borrow-issue-12224.rs:40:5 + --> $DIR/borrowck-call-is-borrow-issue-12224.rs:35:5 | -38 | fn test2<F>(f: &F) where F: FnMut() { +34 | fn test2<F>(f: &F) where F: FnMut() { | -- use `&mut F` here to make mutable -39 | //~^ NOTE use `&mut F` here to make mutable -40 | (*f)(); +35 | (*f)(); | ^^^^ cannot borrow as mutable error[E0596]: cannot borrow immutable `Box` content `*f.f` as mutable - --> $DIR/borrowck-call-is-borrow-issue-12224.rs:51:5 + --> $DIR/borrowck-call-is-borrow-issue-12224.rs:44:5 | -49 | fn test4(f: &Test) { +43 | fn test4(f: &Test) { | ----- use `&mut Test` here to make mutable -50 | //~^ NOTE use `&mut Test` here to make mutable -51 | f.f.call_mut(()) +44 | f.f.call_mut(()) | ^^^ cannot borrow as mutable error[E0504]: cannot move `f` into closure because it is borrowed - --> $DIR/borrowck-call-is-borrow-issue-12224.rs:73:13 + --> $DIR/borrowck-call-is-borrow-issue-12224.rs:63:13 | -71 | f(Box::new(|a| { +62 | f(Box::new(|a| { | - borrow of `f` occurs here -72 | //~^ NOTE borrow of `f` occurs here -73 | foo(f); +63 | foo(f); | ^ move into closure occurs here error[E0507]: cannot move out of captured outer variable in an `FnMut` closure - --> $DIR/borrowck-call-is-borrow-issue-12224.rs:73:13 + --> $DIR/borrowck-call-is-borrow-issue-12224.rs:63:13 | -69 | let mut f = |g: Box<FnMut(isize)>, b: isize| {}; +61 | let mut f = |g: Box<FnMut(isize)>, b: isize| {}; | ----- captured outer variable -... -73 | foo(f); +62 | f(Box::new(|a| { +63 | foo(f); | ^ cannot move out of captured outer variable in an `FnMut` closure error: aborting due to 5 previous errors diff --git a/src/test/ui/span/borrowck-let-suggestion-suffixes.rs b/src/test/ui/span/borrowck-let-suggestion-suffixes.rs index b31ba324b0c..2bbfd4517b0 100644 --- a/src/test/ui/span/borrowck-let-suggestion-suffixes.rs +++ b/src/test/ui/span/borrowck-let-suggestion-suffixes.rs @@ -19,15 +19,11 @@ fn f() { let young = ['y']; // statement 3 v2.push(&young[0]); // statement 4 - //~^ NOTE borrow occurs here let mut v3 = Vec::new(); // statement 5 v3.push(&id('x')); // statement 6 //~^ ERROR borrowed value does not live long enough - //~| NOTE temporary value created here - //~| NOTE temporary value dropped here while still borrowed - //~| NOTE consider using a `let` binding to increase its lifetime { @@ -35,28 +31,17 @@ fn f() { v4.push(&id('y')); //~^ ERROR borrowed value does not live long enough - //~| NOTE temporary value created here - //~| NOTE temporary value dropped here while still borrowed - //~| NOTE consider using a `let` binding to increase its lifetime } // (statement 7) - //~^ NOTE temporary value needs to live until here let mut v5 = Vec::new(); // statement 8 v5.push(&id('z')); //~^ ERROR borrowed value does not live long enough - //~| NOTE temporary value created here - //~| NOTE temporary value dropped here while still borrowed - //~| NOTE consider using a `let` binding to increase its lifetime v1.push(&old[0]); } //~^ ERROR `young[..]` does not live long enough -//~| NOTE `young[..]` dropped here while still borrowed -//~| NOTE values in a scope are dropped in the opposite order they are created -//~| NOTE temporary value needs to live until here -//~| NOTE temporary value needs to live until here fn main() { f(); diff --git a/src/test/ui/span/borrowck-let-suggestion-suffixes.stderr b/src/test/ui/span/borrowck-let-suggestion-suffixes.stderr index 86c6f28ef1c..3daeb71d346 100644 --- a/src/test/ui/span/borrowck-let-suggestion-suffixes.stderr +++ b/src/test/ui/span/borrowck-let-suggestion-suffixes.stderr @@ -1,49 +1,49 @@ error[E0597]: `young[..]` does not live long enough - --> $DIR/borrowck-let-suggestion-suffixes.rs:54:1 + --> $DIR/borrowck-let-suggestion-suffixes.rs:43:1 | 21 | v2.push(&young[0]); // statement 4 | -------- borrow occurs here ... -54 | } +43 | } | ^ `young[..]` dropped here while still borrowed | = note: values in a scope are dropped in the opposite order they are created error[E0597]: borrowed value does not live long enough - --> $DIR/borrowck-let-suggestion-suffixes.rs:26:22 + --> $DIR/borrowck-let-suggestion-suffixes.rs:25:22 | -26 | v3.push(&id('x')); // statement 6 +25 | v3.push(&id('x')); // statement 6 | ------- ^ temporary value dropped here while still borrowed | | | temporary value created here ... -54 | } +43 | } | - temporary value needs to live until here | = note: consider using a `let` binding to increase its lifetime error[E0597]: borrowed value does not live long enough - --> $DIR/borrowck-let-suggestion-suffixes.rs:36:26 + --> $DIR/borrowck-let-suggestion-suffixes.rs:32:26 | -36 | v4.push(&id('y')); +32 | v4.push(&id('y')); | ------- ^ temporary value dropped here while still borrowed | | | temporary value created here ... -42 | } // (statement 7) +35 | } // (statement 7) | - temporary value needs to live until here | = note: consider using a `let` binding to increase its lifetime error[E0597]: borrowed value does not live long enough - --> $DIR/borrowck-let-suggestion-suffixes.rs:47:22 + --> $DIR/borrowck-let-suggestion-suffixes.rs:39:22 | -47 | v5.push(&id('z')); +39 | v5.push(&id('z')); | ------- ^ temporary value dropped here while still borrowed | | | temporary value created here ... -54 | } +43 | } | - temporary value needs to live until here | = note: consider using a `let` binding to increase its lifetime diff --git a/src/test/ui/span/coerce-suggestions.rs b/src/test/ui/span/coerce-suggestions.rs index 0a3e18043fe..95461ee8093 100644 --- a/src/test/ui/span/coerce-suggestions.rs +++ b/src/test/ui/span/coerce-suggestions.rs @@ -16,27 +16,16 @@ fn test2(_x: &mut i32) {} fn main() { let x: usize = String::new(); //~^ ERROR E0308 - //~| NOTE expected usize, found struct `std::string::String` - //~| NOTE expected type `usize` - //~| HELP here are some functions which might fulfill your needs: let x: &str = String::new(); //~^ ERROR E0308 - //~| NOTE expected &str, found struct `std::string::String` - //~| NOTE expected type `&str` - //~| HELP consider borrowing here let y = String::new(); test(&y); //~^ ERROR E0308 - //~| NOTE types differ in mutability - //~| NOTE expected type `&mut std::string::String` test2(&y); //~^ ERROR E0308 - //~| NOTE types differ in mutability - //~| NOTE expected type `&mut i32` let f; f = box f; //~^ ERROR E0308 - //~| NOTE cyclic type of infinite size let s = &mut String::new(); s = format!("foo"); diff --git a/src/test/ui/span/coerce-suggestions.stderr b/src/test/ui/span/coerce-suggestions.stderr index 604b38bef6c..07852619765 100644 --- a/src/test/ui/span/coerce-suggestions.stderr +++ b/src/test/ui/span/coerce-suggestions.stderr @@ -11,9 +11,9 @@ error[E0308]: mismatched types - .len() error[E0308]: mismatched types - --> $DIR/coerce-suggestions.rs:22:19 + --> $DIR/coerce-suggestions.rs:19:19 | -22 | let x: &str = String::new(); +19 | let x: &str = String::new(); | ^^^^^^^^^^^^^ | | | expected &str, found struct `std::string::String` @@ -23,33 +23,33 @@ error[E0308]: mismatched types found type `std::string::String` error[E0308]: mismatched types - --> $DIR/coerce-suggestions.rs:28:10 + --> $DIR/coerce-suggestions.rs:22:10 | -28 | test(&y); +22 | test(&y); | ^^ types differ in mutability | = note: expected type `&mut std::string::String` found type `&std::string::String` error[E0308]: mismatched types - --> $DIR/coerce-suggestions.rs:32:11 + --> $DIR/coerce-suggestions.rs:24:11 | -32 | test2(&y); +24 | test2(&y); | ^^ types differ in mutability | = note: expected type `&mut i32` found type `&std::string::String` error[E0308]: mismatched types - --> $DIR/coerce-suggestions.rs:37:9 + --> $DIR/coerce-suggestions.rs:27:9 | -37 | f = box f; +27 | f = box f; | ^^^^^ cyclic type of infinite size error[E0308]: mismatched types - --> $DIR/coerce-suggestions.rs:42:9 + --> $DIR/coerce-suggestions.rs:31:9 | -42 | s = format!("foo"); +31 | s = format!("foo"); | ^^^^^^^^^^^^^^ | | | expected mutable reference, found struct `std::string::String` diff --git a/src/test/ui/span/dropck-object-cycle.rs b/src/test/ui/span/dropck-object-cycle.rs index ce9bc17432e..aaa5cd415bb 100644 --- a/src/test/ui/span/dropck-object-cycle.rs +++ b/src/test/ui/span/dropck-object-cycle.rs @@ -35,7 +35,6 @@ impl<'t> MakerTrait for Box<Trait<'t>+'static> { pub fn main() { let m : Box<Trait+'static> = make_val(); assert_eq!(object_invoke1(&*m), (4,5)); - //~^ NOTE borrow occurs here // the problem here is that the full type of `m` is // @@ -56,6 +55,4 @@ pub fn main() { // error. } //~^ ERROR `*m` does not live long enough -//~| NOTE `*m` dropped here while still borrowed -//~| NOTE values in a scope are dropped in the opposite order they are created diff --git a/src/test/ui/span/dropck-object-cycle.stderr b/src/test/ui/span/dropck-object-cycle.stderr index 49115b244e6..5e87534c391 100644 --- a/src/test/ui/span/dropck-object-cycle.stderr +++ b/src/test/ui/span/dropck-object-cycle.stderr @@ -1,10 +1,10 @@ error[E0597]: `*m` does not live long enough - --> $DIR/dropck-object-cycle.rs:57:1 + --> $DIR/dropck-object-cycle.rs:56:1 | 37 | assert_eq!(object_invoke1(&*m), (4,5)); | -- borrow occurs here ... -57 | } +56 | } | ^ `*m` dropped here while still borrowed | = note: values in a scope are dropped in the opposite order they are created diff --git a/src/test/ui/span/impl-wrong-item-for-trait.rs b/src/test/ui/span/impl-wrong-item-for-trait.rs index d4aafabed37..f86ee2b1377 100644 --- a/src/test/ui/span/impl-wrong-item-for-trait.rs +++ b/src/test/ui/span/impl-wrong-item-for-trait.rs @@ -13,23 +13,15 @@ use std::fmt::Debug; trait Foo { fn bar(&self); - //~^ NOTE item in trait - //~| NOTE `bar` from trait - //~| NOTE item in trait - //~| NOTE `bar` from trait const MY_CONST: u32; - //~^ NOTE item in trait - //~| NOTE `MY_CONST` from trait } pub struct FooConstForMethod; impl Foo for FooConstForMethod { //~^ ERROR E0046 - //~| NOTE missing `bar` in implementation const bar: u64 = 1; //~^ ERROR E0323 - //~| NOTE does not match trait const MY_CONST: u32 = 1; } @@ -37,22 +29,17 @@ pub struct FooMethodForConst; impl Foo for FooMethodForConst { //~^ ERROR E0046 - //~| NOTE missing `MY_CONST` in implementation fn bar(&self) {} fn MY_CONST() {} //~^ ERROR E0324 - //~| NOTE does not match trait } pub struct FooTypeForMethod; impl Foo for FooTypeForMethod { //~^ ERROR E0046 - //~| NOTE missing `bar` in implementation type bar = u64; //~^ ERROR E0325 - //~| NOTE does not match trait - //~| NOTE not a member //~| ERROR E0437 const MY_CONST: u32 = 1; } @@ -60,7 +47,5 @@ impl Foo for FooTypeForMethod { impl Debug for FooTypeForMethod { } //~^^ ERROR E0046 -//~| NOTE missing `fmt` in implementation -//~| NOTE `fmt` from trait: fn main () {} diff --git a/src/test/ui/span/impl-wrong-item-for-trait.stderr b/src/test/ui/span/impl-wrong-item-for-trait.stderr index dfca435f2a0..92993e19265 100644 --- a/src/test/ui/span/impl-wrong-item-for-trait.stderr +++ b/src/test/ui/span/impl-wrong-item-for-trait.stderr @@ -1,86 +1,84 @@ error[E0437]: type `bar` is not a member of trait `Foo` - --> $DIR/impl-wrong-item-for-trait.rs:52:5 + --> $DIR/impl-wrong-item-for-trait.rs:41:5 | -52 | type bar = u64; +41 | type bar = u64; | ^^^^^^^^^^^^^^^ not a member of trait `Foo` error[E0323]: item `bar` is an associated const, which doesn't match its trait `Foo` - --> $DIR/impl-wrong-item-for-trait.rs:30:5 + --> $DIR/impl-wrong-item-for-trait.rs:23:5 | 15 | fn bar(&self); | -------------- item in trait ... -30 | const bar: u64 = 1; +23 | const bar: u64 = 1; | ^^^^^^^^^^^^^^^^^^^ does not match trait error[E0046]: not all trait items implemented, missing: `bar` - --> $DIR/impl-wrong-item-for-trait.rs:27:1 + --> $DIR/impl-wrong-item-for-trait.rs:21:1 | 15 | fn bar(&self); | -------------- `bar` from trait ... -27 | / impl Foo for FooConstForMethod { -28 | | //~^ ERROR E0046 -29 | | //~| NOTE missing `bar` in implementation -30 | | const bar: u64 = 1; -... | -33 | | const MY_CONST: u32 = 1; -34 | | } +21 | / impl Foo for FooConstForMethod { +22 | | //~^ ERROR E0046 +23 | | const bar: u64 = 1; +24 | | //~^ ERROR E0323 +25 | | const MY_CONST: u32 = 1; +26 | | } | |_^ missing `bar` in implementation error[E0324]: item `MY_CONST` is an associated method, which doesn't match its trait `Foo` - --> $DIR/impl-wrong-item-for-trait.rs:42:5 + --> $DIR/impl-wrong-item-for-trait.rs:33:5 | -20 | const MY_CONST: u32; +16 | const MY_CONST: u32; | -------------------- item in trait ... -42 | fn MY_CONST() {} +33 | fn MY_CONST() {} | ^^^^^^^^^^^^^^^^ does not match trait error[E0046]: not all trait items implemented, missing: `MY_CONST` - --> $DIR/impl-wrong-item-for-trait.rs:38:1 + --> $DIR/impl-wrong-item-for-trait.rs:30:1 | -20 | const MY_CONST: u32; +16 | const MY_CONST: u32; | -------------------- `MY_CONST` from trait ... -38 | / impl Foo for FooMethodForConst { -39 | | //~^ ERROR E0046 -40 | | //~| NOTE missing `MY_CONST` in implementation -41 | | fn bar(&self) {} -... | -44 | | //~| NOTE does not match trait -45 | | } +30 | / impl Foo for FooMethodForConst { +31 | | //~^ ERROR E0046 +32 | | fn bar(&self) {} +33 | | fn MY_CONST() {} +34 | | //~^ ERROR E0324 +35 | | } | |_^ missing `MY_CONST` in implementation error[E0325]: item `bar` is an associated type, which doesn't match its trait `Foo` - --> $DIR/impl-wrong-item-for-trait.rs:52:5 + --> $DIR/impl-wrong-item-for-trait.rs:41:5 | 15 | fn bar(&self); | -------------- item in trait ... -52 | type bar = u64; +41 | type bar = u64; | ^^^^^^^^^^^^^^^ does not match trait error[E0046]: not all trait items implemented, missing: `bar` - --> $DIR/impl-wrong-item-for-trait.rs:49:1 + --> $DIR/impl-wrong-item-for-trait.rs:39:1 | 15 | fn bar(&self); | -------------- `bar` from trait ... -49 | / impl Foo for FooTypeForMethod { -50 | | //~^ ERROR E0046 -51 | | //~| NOTE missing `bar` in implementation -52 | | type bar = u64; -... | -57 | | const MY_CONST: u32 = 1; -58 | | } +39 | / impl Foo for FooTypeForMethod { +40 | | //~^ ERROR E0046 +41 | | type bar = u64; +42 | | //~^ ERROR E0325 +43 | | //~| ERROR E0437 +44 | | const MY_CONST: u32 = 1; +45 | | } | |_^ missing `bar` in implementation error[E0046]: not all trait items implemented, missing: `fmt` - --> $DIR/impl-wrong-item-for-trait.rs:60:1 + --> $DIR/impl-wrong-item-for-trait.rs:47:1 | -60 | / impl Debug for FooTypeForMethod { -61 | | } +47 | / impl Debug for FooTypeForMethod { +48 | | } | |_^ missing `fmt` in implementation | = note: `fmt` from trait: `fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>` diff --git a/src/test/ui/span/issue-23729.rs b/src/test/ui/span/issue-23729.rs index 66134a03baf..e872fabfc26 100644 --- a/src/test/ui/span/issue-23729.rs +++ b/src/test/ui/span/issue-23729.rs @@ -19,8 +19,6 @@ fn main() { impl Iterator for Recurrence { //~^ ERROR E0046 - //~| NOTE missing `Item` in implementation - //~| NOTE `Item` from trait: `type Item;` #[inline] fn next(&mut self) -> Option<u64> { if self.pos < 2 { diff --git a/src/test/ui/span/issue-23729.stderr b/src/test/ui/span/issue-23729.stderr index d9f4bacce35..0124d33635c 100644 --- a/src/test/ui/span/issue-23729.stderr +++ b/src/test/ui/span/issue-23729.stderr @@ -3,11 +3,11 @@ error[E0046]: not all trait items implemented, missing: `Item` | 20 | / impl Iterator for Recurrence { 21 | | //~^ ERROR E0046 -22 | | //~| NOTE missing `Item` in implementation -23 | | //~| NOTE `Item` from trait: `type Item;` +22 | | #[inline] +23 | | fn next(&mut self) -> Option<u64> { ... | -36 | | } -37 | | } +34 | | } +35 | | } | |_________^ missing `Item` in implementation | = note: `Item` from trait: `type Item;` diff --git a/src/test/ui/span/issue-23827.rs b/src/test/ui/span/issue-23827.rs index 01269714c16..890f2623ebc 100644 --- a/src/test/ui/span/issue-23827.rs +++ b/src/test/ui/span/issue-23827.rs @@ -35,8 +35,6 @@ impl<C: Component> FnMut<(C,)> for Prototype { impl<C: Component> FnOnce<(C,)> for Prototype { //~^ ERROR E0046 - //~| NOTE missing `Output` in implementation - //~| NOTE `Output` from trait: `type Output;` extern "rust-call" fn call_once(self, (comp,): (C,)) -> Prototype { Fn::call(&self, (comp,)) } diff --git a/src/test/ui/span/issue-23827.stderr b/src/test/ui/span/issue-23827.stderr index 3127af157a6..acf499e4c8d 100644 --- a/src/test/ui/span/issue-23827.stderr +++ b/src/test/ui/span/issue-23827.stderr @@ -3,11 +3,10 @@ error[E0046]: not all trait items implemented, missing: `Output` | 36 | / impl<C: Component> FnOnce<(C,)> for Prototype { 37 | | //~^ ERROR E0046 -38 | | //~| NOTE missing `Output` in implementation -39 | | //~| NOTE `Output` from trait: `type Output;` -... | -42 | | } -43 | | } +38 | | extern "rust-call" fn call_once(self, (comp,): (C,)) -> Prototype { +39 | | Fn::call(&self, (comp,)) +40 | | } +41 | | } | |_^ missing `Output` in implementation | = note: `Output` from trait: `type Output;` diff --git a/src/test/ui/span/issue-24356.rs b/src/test/ui/span/issue-24356.rs index 0997dc802f8..0580370033a 100644 --- a/src/test/ui/span/issue-24356.rs +++ b/src/test/ui/span/issue-24356.rs @@ -29,8 +29,6 @@ fn main() { // Causes ICE impl Deref for Thing { //~^ ERROR E0046 - //~| NOTE missing `Target` in implementation - //~| NOTE `Target` from trait: `type Target;` fn deref(&self) -> i8 { self.0 } } diff --git a/src/test/ui/span/issue-24356.stderr b/src/test/ui/span/issue-24356.stderr index 71ab82d98b8..c526a4bc521 100644 --- a/src/test/ui/span/issue-24356.stderr +++ b/src/test/ui/span/issue-24356.stderr @@ -3,10 +3,8 @@ error[E0046]: not all trait items implemented, missing: `Target` | 30 | / impl Deref for Thing { 31 | | //~^ ERROR E0046 -32 | | //~| NOTE missing `Target` in implementation -33 | | //~| NOTE `Target` from trait: `type Target;` -34 | | fn deref(&self) -> i8 { self.0 } -35 | | } +32 | | fn deref(&self) -> i8 { self.0 } +33 | | } | |_________^ missing `Target` in implementation | = note: `Target` from trait: `type Target;` diff --git a/src/test/ui/span/issue-36537.rs b/src/test/ui/span/issue-36537.rs index 33182e02fa3..d016e8fdbc0 100644 --- a/src/test/ui/span/issue-36537.rs +++ b/src/test/ui/span/issue-36537.rs @@ -11,8 +11,6 @@ fn main() { let p; let a = 42; - p = &a; //~ NOTE borrow occurs here + p = &a; } //~^ ERROR `a` does not live long enough -//~| NOTE `a` dropped here while still borrowed -//~| NOTE values in a scope are dropped in the opposite order they are created diff --git a/src/test/ui/span/issue-36537.stderr b/src/test/ui/span/issue-36537.stderr index 803e476b749..fed240a850d 100644 --- a/src/test/ui/span/issue-36537.stderr +++ b/src/test/ui/span/issue-36537.stderr @@ -1,7 +1,7 @@ error[E0597]: `a` does not live long enough --> $DIR/issue-36537.rs:15:1 | -14 | p = &a; //~ NOTE borrow occurs here +14 | p = &a; | - borrow occurs here 15 | } | ^ `a` dropped here while still borrowed diff --git a/src/test/ui/span/issue-7575.rs b/src/test/ui/span/issue-7575.rs index f7059e01261..b1dbd5b86e7 100644 --- a/src/test/ui/span/issue-7575.rs +++ b/src/test/ui/span/issue-7575.rs @@ -13,11 +13,11 @@ trait CtxtFn { fn f8(self, _: usize) -> usize; - fn f9(_: usize) -> usize; //~ NOTE candidate + fn f9(_: usize) -> usize; } trait OtherTrait { - fn f9(_: usize) -> usize; //~ NOTE candidate + fn f9(_: usize) -> usize; } // Note: this trait is not implemented, but we can't really tell @@ -26,7 +26,7 @@ trait OtherTrait { // candidate. This seems not unreasonable -- perhaps the user meant to // implement it, after all. trait UnusedTrait { - fn f9(_: usize) -> usize; //~ NOTE candidate + fn f9(_: usize) -> usize; } impl CtxtFn for usize { @@ -45,16 +45,16 @@ impl OtherTrait for usize { } } -struct Myisize(isize); //~ NOTE not found for this +struct Myisize(isize); impl Myisize { - fn fff(i: isize) -> isize { //~ NOTE candidate + fn fff(i: isize) -> isize { i } } trait ManyImplTrait { - fn is_str() -> bool { //~ NOTE candidate + fn is_str() -> bool { false } } @@ -73,10 +73,7 @@ impl ManyImplTrait for Myisize {} fn no_param_bound(u: usize, m: Myisize) -> usize { u.f8(42) + u.f9(342) + m.fff(42) //~^ ERROR no method named `f9` found for type `usize` in the current scope - //~| NOTE found the following associated functions; to be used as methods, functions must have a `self` parameter - //~| NOTE the following traits define an item //~| ERROR no method named `fff` found for type `Myisize` in the current scope - //~| NOTE found the following associated functions; to be used as methods, functions must have a `self` parameter } @@ -84,8 +81,6 @@ fn no_param_bound(u: usize, m: Myisize) -> usize { fn param_bound<T: ManyImplTrait>(t: T) -> bool { t.is_str() //~^ ERROR no method named `is_str` found for type `T` in the current scope - //~| NOTE found the following associated functions; to be used as methods, functions must have a `self` parameter - //~| NOTE the following trait defines } fn main() { diff --git a/src/test/ui/span/issue-7575.stderr b/src/test/ui/span/issue-7575.stderr index a1ed5db69c0..57c4d25b7d0 100644 --- a/src/test/ui/span/issue-7575.stderr +++ b/src/test/ui/span/issue-7575.stderr @@ -9,19 +9,19 @@ error[E0599]: no method named `f9` found for type `usize` in the current scope note: candidate #1 is defined in the trait `CtxtFn` --> $DIR/issue-7575.rs:16:5 | -16 | fn f9(_: usize) -> usize; //~ NOTE candidate +16 | fn f9(_: usize) -> usize; | ^^^^^^^^^^^^^^^^^^^^^^^^^ = help: to disambiguate the method call, write `CtxtFn::f9(u, 342)` instead note: candidate #2 is defined in the trait `OtherTrait` --> $DIR/issue-7575.rs:20:5 | -20 | fn f9(_: usize) -> usize; //~ NOTE candidate +20 | fn f9(_: usize) -> usize; | ^^^^^^^^^^^^^^^^^^^^^^^^^ = help: to disambiguate the method call, write `OtherTrait::f9(u, 342)` instead note: candidate #3 is defined in the trait `UnusedTrait` --> $DIR/issue-7575.rs:29:5 | -29 | fn f9(_: usize) -> usize; //~ NOTE candidate +29 | fn f9(_: usize) -> usize; | ^^^^^^^^^^^^^^^^^^^^^^^^^ = help: to disambiguate the method call, write `UnusedTrait::f9(u, 342)` instead = help: items from traits can only be used if the trait is implemented and in scope @@ -33,7 +33,7 @@ note: candidate #3 is defined in the trait `UnusedTrait` error[E0599]: no method named `fff` found for type `Myisize` in the current scope --> $DIR/issue-7575.rs:74:30 | -48 | struct Myisize(isize); //~ NOTE not found for this +48 | struct Myisize(isize); | ---------------------- method `fff` not found for this ... 74 | u.f8(42) + u.f9(342) + m.fff(42) @@ -44,15 +44,15 @@ error[E0599]: no method named `fff` found for type `Myisize` in the current scop note: candidate #1 is defined in an impl for the type `Myisize` --> $DIR/issue-7575.rs:51:5 | -51 | / fn fff(i: isize) -> isize { //~ NOTE candidate +51 | / fn fff(i: isize) -> isize { 52 | | i 53 | | } | |_____^ error[E0599]: no method named `is_str` found for type `T` in the current scope - --> $DIR/issue-7575.rs:85:7 + --> $DIR/issue-7575.rs:82:7 | -85 | t.is_str() +82 | t.is_str() | ^^^^^^ | = note: found the following associated functions; to be used as methods, functions must have a `self` parameter @@ -60,7 +60,7 @@ error[E0599]: no method named `is_str` found for type `T` in the current scope note: candidate #1 is defined in the trait `ManyImplTrait` --> $DIR/issue-7575.rs:57:5 | -57 | / fn is_str() -> bool { //~ NOTE candidate +57 | / fn is_str() -> bool { 58 | | false 59 | | } | |_____^ diff --git a/src/test/ui/span/loan-extend.stderr b/src/test/ui/span/loan-extend.stderr index 91bdd8a8cad..280ddd6581a 100644 --- a/src/test/ui/span/loan-extend.stderr +++ b/src/test/ui/span/loan-extend.stderr @@ -3,7 +3,7 @@ error[E0597]: `short` does not live long enough | 19 | long = borrow(&mut short); | ----- borrow occurs here -20 | //~^ NOTE borrow occurs here +20 | 21 | } | ^ `short` dropped here while still borrowed | diff --git a/src/test/ui/span/regions-escape-loop-via-vec.rs b/src/test/ui/span/regions-escape-loop-via-vec.rs index 7c4834751d8..19f580f51b4 100644 --- a/src/test/ui/span/regions-escape-loop-via-vec.rs +++ b/src/test/ui/span/regions-escape-loop-via-vec.rs @@ -12,19 +12,12 @@ fn broken() { let mut x = 3; let mut _y = vec![&mut x]; - //~^ NOTE borrow of `x` occurs here - //~| NOTE borrow of `x` occurs here - //~| NOTE borrow of `x` occurs here while x < 10 { //~ ERROR cannot use `x` because it was mutably borrowed - //~^ NOTE use of borrowed `x` let mut z = x; //~ ERROR cannot use `x` because it was mutably borrowed - //~^ NOTE use of borrowed `x` - _y.push(&mut z); //~ NOTE borrow occurs here + _y.push(&mut z); x += 1; //~ ERROR cannot assign - //~^ NOTE assignment to borrowed `x` occurs here - } //~ NOTE `z` dropped here while still borrowed + } //~^ ERROR `z` does not live long enough } -//~^ NOTE borrowed value needs to live until here fn main() { } diff --git a/src/test/ui/span/regions-escape-loop-via-vec.stderr b/src/test/ui/span/regions-escape-loop-via-vec.stderr index a7224fcd4cc..13614e31066 100644 --- a/src/test/ui/span/regions-escape-loop-via-vec.stderr +++ b/src/test/ui/span/regions-escape-loop-via-vec.stderr @@ -1,40 +1,39 @@ error[E0597]: `z` does not live long enough - --> $DIR/regions-escape-loop-via-vec.rs:25:5 + --> $DIR/regions-escape-loop-via-vec.rs:19:5 | -22 | _y.push(&mut z); //~ NOTE borrow occurs here +17 | _y.push(&mut z); | - borrow occurs here -... -25 | } //~ NOTE `z` dropped here while still borrowed +18 | x += 1; //~ ERROR cannot assign +19 | } | ^ `z` dropped here while still borrowed -26 | //~^ ERROR `z` does not live long enough -27 | } +20 | //~^ ERROR `z` does not live long enough +21 | } | - borrowed value needs to live until here error[E0503]: cannot use `x` because it was mutably borrowed - --> $DIR/regions-escape-loop-via-vec.rs:18:11 + --> $DIR/regions-escape-loop-via-vec.rs:15:11 | 14 | let mut _y = vec![&mut x]; | - borrow of `x` occurs here -... -18 | while x < 10 { //~ ERROR cannot use `x` because it was mutably borrowed +15 | while x < 10 { //~ ERROR cannot use `x` because it was mutably borrowed | ^ use of borrowed `x` error[E0503]: cannot use `x` because it was mutably borrowed - --> $DIR/regions-escape-loop-via-vec.rs:20:13 + --> $DIR/regions-escape-loop-via-vec.rs:16:13 | 14 | let mut _y = vec![&mut x]; | - borrow of `x` occurs here -... -20 | let mut z = x; //~ ERROR cannot use `x` because it was mutably borrowed +15 | while x < 10 { //~ ERROR cannot use `x` because it was mutably borrowed +16 | let mut z = x; //~ ERROR cannot use `x` because it was mutably borrowed | ^^^^^ use of borrowed `x` error[E0506]: cannot assign to `x` because it is borrowed - --> $DIR/regions-escape-loop-via-vec.rs:23:9 + --> $DIR/regions-escape-loop-via-vec.rs:18:9 | 14 | let mut _y = vec![&mut x]; | - borrow of `x` occurs here ... -23 | x += 1; //~ ERROR cannot assign +18 | x += 1; //~ ERROR cannot assign | ^^^^^^ assignment to borrowed `x` occurs here error: aborting due to 4 previous errors diff --git a/src/test/ui/str-concat-on-double-ref.rs b/src/test/ui/str-concat-on-double-ref.rs index f85422f76d4..292dcbf8ef7 100644 --- a/src/test/ui/str-concat-on-double-ref.rs +++ b/src/test/ui/str-concat-on-double-ref.rs @@ -13,6 +13,5 @@ fn main() { let b: &str = &"2"; let c = a + b; //~^ ERROR binary operation `+` cannot be applied to type `&std::string::String` - //~| NOTE an implementation of `std::ops::Add` might be missing for `&std::string::String` println!("{:?}", c); } diff --git a/src/test/ui/struct-fields-decl-dupe.rs b/src/test/ui/struct-fields-decl-dupe.rs index dd9d7d29468..1f6b070d837 100644 --- a/src/test/ui/struct-fields-decl-dupe.rs +++ b/src/test/ui/struct-fields-decl-dupe.rs @@ -9,10 +9,9 @@ // except according to those terms. struct BuildData { - foo: isize, //~ NOTE `foo` first declared here + foo: isize, foo: isize, //~^ ERROR field `foo` is already declared [E0124] - //~| NOTE field already declared } fn main() { diff --git a/src/test/ui/struct-fields-decl-dupe.stderr b/src/test/ui/struct-fields-decl-dupe.stderr index 4908441cb59..8f2180716c9 100644 --- a/src/test/ui/struct-fields-decl-dupe.stderr +++ b/src/test/ui/struct-fields-decl-dupe.stderr @@ -1,7 +1,7 @@ error[E0124]: field `foo` is already declared --> $DIR/struct-fields-decl-dupe.rs:13:5 | -12 | foo: isize, //~ NOTE `foo` first declared here +12 | foo: isize, | ---------- `foo` first declared here 13 | foo: isize, | ^^^^^^^^^^ field already declared diff --git a/src/test/ui/struct-fields-hints-no-dupe.rs b/src/test/ui/struct-fields-hints-no-dupe.rs index de78503d904..e4366cf79b1 100644 --- a/src/test/ui/struct-fields-hints-no-dupe.rs +++ b/src/test/ui/struct-fields-hints-no-dupe.rs @@ -19,7 +19,6 @@ fn main() { foo : 5, bar : 42, //~^ ERROR struct `A` has no field named `bar` - //~| NOTE field does not exist - did you mean `barr`? car : 9, }; } diff --git a/src/test/ui/struct-fields-hints.rs b/src/test/ui/struct-fields-hints.rs index 628f03f3272..85dc1aedb44 100644 --- a/src/test/ui/struct-fields-hints.rs +++ b/src/test/ui/struct-fields-hints.rs @@ -19,6 +19,5 @@ fn main() { foo : 5, bar : 42, //~^ ERROR struct `A` has no field named `bar` - //~| NOTE field does not exist - did you mean `car`? }; } diff --git a/src/test/ui/struct-fields-too-many.rs b/src/test/ui/struct-fields-too-many.rs index b1af142ad0f..1e0b8efc96f 100644 --- a/src/test/ui/struct-fields-too-many.rs +++ b/src/test/ui/struct-fields-too-many.rs @@ -17,7 +17,5 @@ fn main() { foo: 0, bar: 0 //~^ ERROR struct `BuildData` has no field named `bar` - //~| NOTE `BuildData` does not have this field - //~| NOTE available fields are: `foo` }; } diff --git a/src/test/ui/struct-path-self-type-mismatch.rs b/src/test/ui/struct-path-self-type-mismatch.rs index ad568b41fcb..e966ea65902 100644 --- a/src/test/ui/struct-path-self-type-mismatch.rs +++ b/src/test/ui/struct-path-self-type-mismatch.rs @@ -15,20 +15,15 @@ trait Bar { fn bar(); } impl Bar for Foo<i32> { fn bar() { Self { inner: 1.5f32 }; //~ ERROR mismatched types - //~^ NOTE expected i32, found f32 } } impl<T> Foo<T> { - fn new<U>(u: U) -> Foo<U> { //~ NOTE expected `Foo<U>` because of return type + fn new<U>(u: U) -> Foo<U> { Self { //~^ ERROR mismatched types - //~| NOTE expected type parameter, found a different type parameter - //~| NOTE expected type `Foo<U>` inner: u //~^ ERROR mismatched types - //~| NOTE expected type parameter, found a different type parameter - //~| NOTE expected type `T` } } } diff --git a/src/test/ui/struct-path-self-type-mismatch.stderr b/src/test/ui/struct-path-self-type-mismatch.stderr index ead941e66e8..a98ec0ec4b2 100644 --- a/src/test/ui/struct-path-self-type-mismatch.stderr +++ b/src/test/ui/struct-path-self-type-mismatch.stderr @@ -5,26 +5,24 @@ error[E0308]: mismatched types | ^^^^^^ expected i32, found f32 error[E0308]: mismatched types - --> $DIR/struct-path-self-type-mismatch.rs:28:20 + --> $DIR/struct-path-self-type-mismatch.rs:25:20 | -28 | inner: u +25 | inner: u | ^ expected type parameter, found a different type parameter | = note: expected type `T` found type `U` error[E0308]: mismatched types - --> $DIR/struct-path-self-type-mismatch.rs:24:9 + --> $DIR/struct-path-self-type-mismatch.rs:23:9 | -23 | fn new<U>(u: U) -> Foo<U> { //~ NOTE expected `Foo<U>` because of return type +22 | fn new<U>(u: U) -> Foo<U> { | ------ expected `Foo<U>` because of return type -24 | / Self { -25 | | //~^ ERROR mismatched types -26 | | //~| NOTE expected type parameter, found a different type parameter -27 | | //~| NOTE expected type `Foo<U>` -... | -31 | | //~| NOTE expected type `T` -32 | | } +23 | / Self { +24 | | //~^ ERROR mismatched types +25 | | inner: u +26 | | //~^ ERROR mismatched types +27 | | } | |_________^ expected type parameter, found a different type parameter | = note: expected type `Foo<U>` diff --git a/src/test/ui/suggest-private-fields.rs b/src/test/ui/suggest-private-fields.rs index d0752b5f02f..77b38abad84 100644 --- a/src/test/ui/suggest-private-fields.rs +++ b/src/test/ui/suggest-private-fields.rs @@ -24,19 +24,14 @@ fn main () { let k = B { aa: 20, //~^ ERROR struct `xc::B` has no field named `aa` - //~| NOTE field does not exist - did you mean `a`? bb: 20, //~^ ERROR struct `xc::B` has no field named `bb` - //~| NOTE `xc::B` does not have this field - //~| NOTE available fields are: `a` }; // local crate struct let l = A { aa: 20, //~^ ERROR struct `A` has no field named `aa` - //~| NOTE field does not exist - did you mean `a`? bb: 20, //~^ ERROR struct `A` has no field named `bb` - //~| NOTE field does not exist - did you mean `b`? }; } diff --git a/src/test/ui/suggest-private-fields.stderr b/src/test/ui/suggest-private-fields.stderr index 1cc323c1c33..d32d85f6e3f 100644 --- a/src/test/ui/suggest-private-fields.stderr +++ b/src/test/ui/suggest-private-fields.stderr @@ -5,23 +5,23 @@ error[E0560]: struct `xc::B` has no field named `aa` | ^^^ field does not exist - did you mean `a`? error[E0560]: struct `xc::B` has no field named `bb` - --> $DIR/suggest-private-fields.rs:28:9 + --> $DIR/suggest-private-fields.rs:27:9 | -28 | bb: 20, +27 | bb: 20, | ^^^ `xc::B` does not have this field | = note: available fields are: `a` error[E0560]: struct `A` has no field named `aa` - --> $DIR/suggest-private-fields.rs:35:9 + --> $DIR/suggest-private-fields.rs:32:9 | -35 | aa: 20, +32 | aa: 20, | ^^^ field does not exist - did you mean `a`? error[E0560]: struct `A` has no field named `bb` - --> $DIR/suggest-private-fields.rs:38:9 + --> $DIR/suggest-private-fields.rs:34:9 | -38 | bb: 20, +34 | bb: 20, | ^^^ field does not exist - did you mean `b`? error: aborting due to 4 previous errors diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-18343.rs b/src/test/ui/suggestions/confuse-field-and-method/issue-18343.rs index 6e0f9999ec1..ef1566ab56a 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-18343.rs +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-18343.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -struct Obj<F> where F: FnMut() -> u32 { //~ NOTE not found for this +struct Obj<F> where F: FnMut() -> u32 { closure: F, } @@ -16,6 +16,4 @@ fn main() { let o = Obj { closure: || 42 }; o.closure(); //~^ ERROR no method named `closure` found - //~| HELP use `(o.closure)(...)` if you meant to call the function stored in the `closure` field - //~| NOTE field, not a method } diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-18343.stderr b/src/test/ui/suggestions/confuse-field-and-method/issue-18343.stderr index 62dceceedf3..bbe8fe7345a 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-18343.stderr +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-18343.stderr @@ -1,7 +1,7 @@ error[E0599]: no method named `closure` found for type `Obj<[closure@$DIR/issue-18343.rs:16:28: 16:33]>` in the current scope --> $DIR/issue-18343.rs:17:7 | -11 | struct Obj<F> where F: FnMut() -> u32 { //~ NOTE not found for this +11 | struct Obj<F> where F: FnMut() -> u32 { | ------------------------------------- method `closure` not found for this ... 17 | o.closure(); diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-2392.rs b/src/test/ui/suggestions/confuse-field-and-method/issue-2392.rs index cba0ecbf58e..f0c5a2a913f 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-2392.rs +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-2392.rs @@ -13,9 +13,6 @@ use std::boxed::FnBox; struct FuncContainer { -//~^ NOTE not found for this -//~| NOTE not found for this -//~| NOTE not found for this f1: fn(data: u8), f2: extern "C" fn(data: u8), f3: unsafe fn(data: u8), @@ -26,19 +23,11 @@ struct FuncContainerOuter { } struct Obj<F> where F: FnOnce() -> u32 { -//~^ NOTE not found for this -//~| NOTE not found for this -//~| NOTE not found for this -//~| NOTE not found for this -//~| NOTE not found for this -//~| NOTE not found for this closure: F, not_closure: usize, } struct BoxedObj { -//~^ NOTE not found for this -//~| NOTE not found for this boxed_closure: Box<FnBox() -> u32>, } @@ -59,58 +48,36 @@ fn main() { let o_closure = Obj { closure: || 42, not_closure: 42 }; o_closure.closure(); //~ ERROR no method named `closure` found - //~^ HELP use `(o_closure.closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method o_closure.not_closure(); //~^ ERROR no method named `not_closure` found - //~| NOTE field, not a method - //~| HELP did you mean to write `o_closure.not_closure` instead of `o_closure.not_closure(...)`? let o_func = Obj { closure: func, not_closure: 5 }; o_func.closure(); //~ ERROR no method named `closure` found - //~^ HELP use `(o_func.closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method let boxed_fn = BoxedObj { boxed_closure: Box::new(func) }; boxed_fn.boxed_closure();//~ ERROR no method named `boxed_closure` found - //~^ HELP use `(boxed_fn.boxed_closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method let boxed_closure = BoxedObj { boxed_closure: Box::new(|| 42_u32) as Box<FnBox() -> u32> }; boxed_closure.boxed_closure();//~ ERROR no method named `boxed_closure` found - //~^ HELP use `(boxed_closure.boxed_closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method // test expression writing in the notes let w = Wrapper { wrap: o_func }; w.wrap.closure();//~ ERROR no method named `closure` found - //~^ HELP use `(w.wrap.closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method w.wrap.not_closure(); //~^ ERROR no method named `not_closure` found - //~| NOTE field, not a method - //~| HELP did you mean to write `w.wrap.not_closure` instead of `w.wrap.not_closure(...)`? check_expression().closure();//~ ERROR no method named `closure` found - //~^ HELP use `(check_expression().closure)(...)` if you meant to call the function stored - //~| NOTE field, not a method } impl FuncContainerOuter { fn run(&self) { unsafe { (*self.container).f1(1); //~ ERROR no method named `f1` found - //~^ HELP use `((*self.container).f1)(...)` - //~| NOTE field, not a method (*self.container).f2(1); //~ ERROR no method named `f2` found - //~^ HELP use `((*self.container).f2)(...)` - //~| NOTE field, not a method (*self.container).f3(1); //~ ERROR no method named `f3` found - //~^ HELP use `((*self.container).f3)(...)` - //~| NOTE field, not a method } } } diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-2392.stderr b/src/test/ui/suggestions/confuse-field-and-method/issue-2392.stderr index b4086b16027..083245f0b8e 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-2392.stderr +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-2392.stderr @@ -1,123 +1,123 @@ -error[E0599]: no method named `closure` found for type `Obj<[closure@$DIR/issue-2392.rs:60:36: 60:41]>` in the current scope - --> $DIR/issue-2392.rs:61:15 +error[E0599]: no method named `closure` found for type `Obj<[closure@$DIR/issue-2392.rs:49:36: 49:41]>` in the current scope + --> $DIR/issue-2392.rs:50:15 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `closure` not found for this ... -61 | o_closure.closure(); //~ ERROR no method named `closure` found +50 | o_closure.closure(); //~ ERROR no method named `closure` found | ^^^^^^^ field, not a method | = help: use `(o_closure.closure)(...)` if you meant to call the function stored in the `closure` field -error[E0599]: no method named `not_closure` found for type `Obj<[closure@$DIR/issue-2392.rs:60:36: 60:41]>` in the current scope - --> $DIR/issue-2392.rs:65:15 +error[E0599]: no method named `not_closure` found for type `Obj<[closure@$DIR/issue-2392.rs:49:36: 49:41]>` in the current scope + --> $DIR/issue-2392.rs:52:15 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `not_closure` not found for this ... -65 | o_closure.not_closure(); +52 | o_closure.not_closure(); | ^^^^^^^^^^^ field, not a method | = help: did you mean to write `o_closure.not_closure` instead of `o_closure.not_closure(...)`? error[E0599]: no method named `closure` found for type `Obj<fn() -> u32 {func}>` in the current scope - --> $DIR/issue-2392.rs:71:12 + --> $DIR/issue-2392.rs:56:12 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `closure` not found for this ... -71 | o_func.closure(); //~ ERROR no method named `closure` found +56 | o_func.closure(); //~ ERROR no method named `closure` found | ^^^^^^^ field, not a method | = help: use `(o_func.closure)(...)` if you meant to call the function stored in the `closure` field error[E0599]: no method named `boxed_closure` found for type `BoxedObj` in the current scope - --> $DIR/issue-2392.rs:76:14 + --> $DIR/issue-2392.rs:59:14 | -39 | struct BoxedObj { +30 | struct BoxedObj { | --------------- method `boxed_closure` not found for this ... -76 | boxed_fn.boxed_closure();//~ ERROR no method named `boxed_closure` found +59 | boxed_fn.boxed_closure();//~ ERROR no method named `boxed_closure` found | ^^^^^^^^^^^^^ field, not a method | = help: use `(boxed_fn.boxed_closure)(...)` if you meant to call the function stored in the `boxed_closure` field error[E0599]: no method named `boxed_closure` found for type `BoxedObj` in the current scope - --> $DIR/issue-2392.rs:81:19 + --> $DIR/issue-2392.rs:62:19 | -39 | struct BoxedObj { +30 | struct BoxedObj { | --------------- method `boxed_closure` not found for this ... -81 | boxed_closure.boxed_closure();//~ ERROR no method named `boxed_closure` found +62 | boxed_closure.boxed_closure();//~ ERROR no method named `boxed_closure` found | ^^^^^^^^^^^^^ field, not a method | = help: use `(boxed_closure.boxed_closure)(...)` if you meant to call the function stored in the `boxed_closure` field error[E0599]: no method named `closure` found for type `Obj<fn() -> u32 {func}>` in the current scope - --> $DIR/issue-2392.rs:88:12 + --> $DIR/issue-2392.rs:67:12 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `closure` not found for this ... -88 | w.wrap.closure();//~ ERROR no method named `closure` found +67 | w.wrap.closure();//~ ERROR no method named `closure` found | ^^^^^^^ field, not a method | = help: use `(w.wrap.closure)(...)` if you meant to call the function stored in the `closure` field error[E0599]: no method named `not_closure` found for type `Obj<fn() -> u32 {func}>` in the current scope - --> $DIR/issue-2392.rs:92:12 + --> $DIR/issue-2392.rs:69:12 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `not_closure` not found for this ... -92 | w.wrap.not_closure(); +69 | w.wrap.not_closure(); | ^^^^^^^^^^^ field, not a method | = help: did you mean to write `w.wrap.not_closure` instead of `w.wrap.not_closure(...)`? error[E0599]: no method named `closure` found for type `Obj<std::boxed::Box<std::boxed::FnBox<(), Output=u32> + 'static>>` in the current scope - --> $DIR/issue-2392.rs:97:24 + --> $DIR/issue-2392.rs:72:24 | -28 | struct Obj<F> where F: FnOnce() -> u32 { +25 | struct Obj<F> where F: FnOnce() -> u32 { | -------------------------------------- method `closure` not found for this ... -97 | check_expression().closure();//~ ERROR no method named `closure` found +72 | check_expression().closure();//~ ERROR no method named `closure` found | ^^^^^^^ field, not a method | = help: use `(check_expression().closure)(...)` if you meant to call the function stored in the `closure` field error[E0599]: no method named `f1` found for type `FuncContainer` in the current scope - --> $DIR/issue-2392.rs:105:31 - | -15 | struct FuncContainer { - | -------------------- method `f1` not found for this + --> $DIR/issue-2392.rs:78:31 + | +15 | struct FuncContainer { + | -------------------- method `f1` not found for this ... -105 | (*self.container).f1(1); //~ ERROR no method named `f1` found - | ^^ field, not a method - | - = help: use `((*self.container).f1)(...)` if you meant to call the function stored in the `f1` field +78 | (*self.container).f1(1); //~ ERROR no method named `f1` found + | ^^ field, not a method + | + = help: use `((*self.container).f1)(...)` if you meant to call the function stored in the `f1` field error[E0599]: no method named `f2` found for type `FuncContainer` in the current scope - --> $DIR/issue-2392.rs:108:31 - | -15 | struct FuncContainer { - | -------------------- method `f2` not found for this + --> $DIR/issue-2392.rs:79:31 + | +15 | struct FuncContainer { + | -------------------- method `f2` not found for this ... -108 | (*self.container).f2(1); //~ ERROR no method named `f2` found - | ^^ field, not a method - | - = help: use `((*self.container).f2)(...)` if you meant to call the function stored in the `f2` field +79 | (*self.container).f2(1); //~ ERROR no method named `f2` found + | ^^ field, not a method + | + = help: use `((*self.container).f2)(...)` if you meant to call the function stored in the `f2` field error[E0599]: no method named `f3` found for type `FuncContainer` in the current scope - --> $DIR/issue-2392.rs:111:31 - | -15 | struct FuncContainer { - | -------------------- method `f3` not found for this + --> $DIR/issue-2392.rs:80:31 + | +15 | struct FuncContainer { + | -------------------- method `f3` not found for this ... -111 | (*self.container).f3(1); //~ ERROR no method named `f3` found - | ^^ field, not a method - | - = help: use `((*self.container).f3)(...)` if you meant to call the function stored in the `f3` field +80 | (*self.container).f3(1); //~ ERROR no method named `f3` found + | ^^ field, not a method + | + = help: use `((*self.container).f3)(...)` if you meant to call the function stored in the `f3` field error: aborting due to 11 previous errors diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-32128.rs b/src/test/ui/suggestions/confuse-field-and-method/issue-32128.rs index 32d5c7f5e8a..d306b38e00e 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-32128.rs +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-32128.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -struct Example { //~ NOTE not found for this +struct Example { example: Box<Fn(i32) -> i32> } @@ -21,7 +21,5 @@ fn main() { demo.example(1); //~^ ERROR no method named `example` - //~| HELP use `(demo.example)(...)` - //~| NOTE field, not a method // (demo.example)(1); } diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-32128.stderr b/src/test/ui/suggestions/confuse-field-and-method/issue-32128.stderr index 813b6060db0..d6a837a17ae 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-32128.stderr +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-32128.stderr @@ -1,7 +1,7 @@ error[E0599]: no method named `example` found for type `Example` in the current scope --> $DIR/issue-32128.rs:22:10 | -11 | struct Example { //~ NOTE not found for this +11 | struct Example { | -------------- method `example` not found for this ... 22 | demo.example(1); diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-33784.rs b/src/test/ui/suggestions/confuse-field-and-method/issue-33784.rs index 87349855221..4cd50be50d4 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-33784.rs +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-33784.rs @@ -35,15 +35,9 @@ fn main() { let o = Obj { fn_ptr: empty, closure: || 42 }; let p = &o; p.closure(); //~ ERROR no method named `closure` found - //~^ HELP use `(p.closure)(...)` if you meant to call the function stored in the `closure` field - //~| NOTE field, not a method let q = &p; q.fn_ptr(); //~ ERROR no method named `fn_ptr` found - //~^ HELP use `(q.fn_ptr)(...)` if you meant to call the function stored in the `fn_ptr` field - //~| NOTE field, not a method let r = D(C { c_fn_ptr: empty }); let s = &r; s.c_fn_ptr(); //~ ERROR no method named `c_fn_ptr` found - //~^ HELP use `(s.c_fn_ptr)(...)` if you meant to call the function stored in the `c_fn_ptr` - //~| NOTE field, not a method } diff --git a/src/test/ui/suggestions/confuse-field-and-method/issue-33784.stderr b/src/test/ui/suggestions/confuse-field-and-method/issue-33784.stderr index d41f7cbdf56..28e21610214 100644 --- a/src/test/ui/suggestions/confuse-field-and-method/issue-33784.stderr +++ b/src/test/ui/suggestions/confuse-field-and-method/issue-33784.stderr @@ -7,17 +7,17 @@ error[E0599]: no method named `closure` found for type `&Obj<[closure@$DIR/issue = help: use `(p.closure)(...)` if you meant to call the function stored in the `closure` field error[E0599]: no method named `fn_ptr` found for type `&&Obj<[closure@$DIR/issue-33784.rs:35:43: 35:48]>` in the current scope - --> $DIR/issue-33784.rs:41:7 + --> $DIR/issue-33784.rs:39:7 | -41 | q.fn_ptr(); //~ ERROR no method named `fn_ptr` found +39 | q.fn_ptr(); //~ ERROR no method named `fn_ptr` found | ^^^^^^ field, not a method | = help: use `(q.fn_ptr)(...)` if you meant to call the function stored in the `fn_ptr` field error[E0599]: no method named `c_fn_ptr` found for type `&D` in the current scope - --> $DIR/issue-33784.rs:46:7 + --> $DIR/issue-33784.rs:42:7 | -46 | s.c_fn_ptr(); //~ ERROR no method named `c_fn_ptr` found +42 | s.c_fn_ptr(); //~ ERROR no method named `c_fn_ptr` found | ^^^^^^^^ field, not a method | = help: use `(s.c_fn_ptr)(...)` if you meant to call the function stored in the `c_fn_ptr` field diff --git a/src/test/ui/suggestions/dont-suggest-dereference-on-arg.rs b/src/test/ui/suggestions/dont-suggest-dereference-on-arg.rs index 72269768e0f..0a2e7ef3226 100644 --- a/src/test/ui/suggestions/dont-suggest-dereference-on-arg.rs +++ b/src/test/ui/suggestions/dont-suggest-dereference-on-arg.rs @@ -15,7 +15,5 @@ fn main() { x.iter() .filter(|&(ref a, _)| foo(a)) //~^ ERROR non-reference pattern used to match a reference - //~| HELP consider using a reference - //~| HELP add .collect(); } diff --git a/src/test/ui/suggestions/str-array-assignment.rs b/src/test/ui/suggestions/str-array-assignment.rs index 444684507d3..b70028bd926 100644 --- a/src/test/ui/suggestions/str-array-assignment.rs +++ b/src/test/ui/suggestions/str-array-assignment.rs @@ -8,25 +8,14 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -fn main() { //~ NOTE expected `()` because of default return type +fn main() { let s = "abc"; let t = if true { s[..2] } else { s }; //~^ ERROR if and else have incompatible types - //~| NOTE expected str, found &str - //~| NOTE expected type let u: &str = if true { s[..2] } else { s }; //~^ ERROR mismatched types - //~| NOTE expected &str, found str - //~| NOTE expected type let v = s[..2]; //~^ ERROR the trait bound `str: std::marker::Sized` is not satisfied - //~| HELP consider borrowing here - //~| NOTE `str` does not have a constant size known at compile-time - //~| HELP the trait `std::marker::Sized` is not implemented for `str` - //~| NOTE all local variables must have a statically known size let w: &str = s[..2]; //~^ ERROR mismatched types - //~| NOTE expected &str, found str - //~| NOTE expected type - //~| HELP consider borrowing here } diff --git a/src/test/ui/suggestions/str-array-assignment.stderr b/src/test/ui/suggestions/str-array-assignment.stderr index c65639805af..4ef18e640a7 100644 --- a/src/test/ui/suggestions/str-array-assignment.stderr +++ b/src/test/ui/suggestions/str-array-assignment.stderr @@ -8,21 +8,21 @@ error[E0308]: if and else have incompatible types found type `&str` error[E0308]: mismatched types - --> $DIR/str-array-assignment.rs:17:27 + --> $DIR/str-array-assignment.rs:15:27 | -11 | fn main() { //~ NOTE expected `()` because of default return type +11 | fn main() { | - expected `()` because of default return type ... -17 | let u: &str = if true { s[..2] } else { s }; +15 | let u: &str = if true { s[..2] } else { s }; | ^^^^^^ expected &str, found str | = note: expected type `&str` found type `str` error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied - --> $DIR/str-array-assignment.rs:21:7 + --> $DIR/str-array-assignment.rs:17:7 | -21 | let v = s[..2]; +17 | let v = s[..2]; | ^ ------ help: consider borrowing here: `&s[..2]` | | | `str` does not have a constant size known at compile-time @@ -31,9 +31,9 @@ error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied = note: all local variables must have a statically known size error[E0308]: mismatched types - --> $DIR/str-array-assignment.rs:27:17 + --> $DIR/str-array-assignment.rs:19:17 | -27 | let w: &str = s[..2]; +19 | let w: &str = s[..2]; | ^^^^^^ | | | expected &str, found str diff --git a/src/test/ui/svh-change-lit.rs b/src/test/ui/svh-change-lit.rs index f24a3905cc3..a4262eaff19 100644 --- a/src/test/ui/svh-change-lit.rs +++ b/src/test/ui/svh-change-lit.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-change-significant-cfg.rs b/src/test/ui/svh-change-significant-cfg.rs index 7a197fc6ae9..32ec6260362 100644 --- a/src/test/ui/svh-change-significant-cfg.rs +++ b/src/test/ui/svh-change-significant-cfg.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-change-trait-bound.rs b/src/test/ui/svh-change-trait-bound.rs index 560feb960f6..0069d930a2d 100644 --- a/src/test/ui/svh-change-trait-bound.rs +++ b/src/test/ui/svh-change-trait-bound.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-change-type-arg.rs b/src/test/ui/svh-change-type-arg.rs index b8928c09562..e6685eb5260 100644 --- a/src/test/ui/svh-change-type-arg.rs +++ b/src/test/ui/svh-change-type-arg.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-change-type-ret.rs b/src/test/ui/svh-change-type-ret.rs index 14973baafbd..e5f833b9652 100644 --- a/src/test/ui/svh-change-type-ret.rs +++ b/src/test/ui/svh-change-type-ret.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-change-type-static.rs b/src/test/ui/svh-change-type-static.rs index cac95b4df8c..c374d26298c 100644 --- a/src/test/ui/svh-change-type-static.rs +++ b/src/test/ui/svh-change-type-static.rs @@ -17,8 +17,6 @@ extern crate a; extern crate b; //~ ERROR: found possibly newer version of crate `a` which `b` depends on -//~| NOTE: perhaps that crate needs to be recompiled -//~| NOTE: the following crate versions were found: fn main() { b::foo() diff --git a/src/test/ui/svh-use-trait.rs b/src/test/ui/svh-use-trait.rs index c875fa8a0b2..ff79a7ad6a0 100644 --- a/src/test/ui/svh-use-trait.rs +++ b/src/test/ui/svh-use-trait.rs @@ -22,8 +22,6 @@ extern crate uta; extern crate utb; //~ ERROR: found possibly newer version of crate `uta` which `utb` depends -//~| NOTE: perhaps that crate needs to be recompiled? -//~| NOTE: the following crate versions were found: fn main() { utb::foo() diff --git a/src/test/ui/token/issue-10636-2.rs b/src/test/ui/token/issue-10636-2.rs index c22baee680a..4aa41270193 100644 --- a/src/test/ui/token/issue-10636-2.rs +++ b/src/test/ui/token/issue-10636-2.rs @@ -12,9 +12,8 @@ // first one. This would be easy-ish to address by better recovery in tokenisation. pub fn trace_option(option: Option<isize>) { - option.map(|some| 42; //~ NOTE: unclosed delimiter + option.map(|some| 42; //~^ ERROR: expected one of - //~| NOTE: expected one of } //~ ERROR: incorrect close delimiter //~^ ERROR: expected expression, found `)` diff --git a/src/test/ui/token/issue-10636-2.stderr b/src/test/ui/token/issue-10636-2.stderr index 48bbeac75d3..b4f0f30c6c1 100644 --- a/src/test/ui/token/issue-10636-2.stderr +++ b/src/test/ui/token/issue-10636-2.stderr @@ -1,25 +1,25 @@ error: incorrect close delimiter: `}` - --> $DIR/issue-10636-2.rs:19:1 + --> $DIR/issue-10636-2.rs:18:1 | -19 | } //~ ERROR: incorrect close delimiter +18 | } //~ ERROR: incorrect close delimiter | ^ | note: unclosed delimiter --> $DIR/issue-10636-2.rs:15:15 | -15 | option.map(|some| 42; //~ NOTE: unclosed delimiter +15 | option.map(|some| 42; | ^ error: expected one of `,`, `.`, `?`, or an operator, found `;` --> $DIR/issue-10636-2.rs:15:25 | -15 | option.map(|some| 42; //~ NOTE: unclosed delimiter +15 | option.map(|some| 42; | ^ expected one of `,`, `.`, `?`, or an operator here error: expected expression, found `)` - --> $DIR/issue-10636-2.rs:19:1 + --> $DIR/issue-10636-2.rs:18:1 | -19 | } //~ ERROR: incorrect close delimiter +18 | } //~ ERROR: incorrect close delimiter | ^ error[E0601]: main function not found diff --git a/src/test/ui/token/macro-incomplete-parse.rs b/src/test/ui/token/macro-incomplete-parse.rs index fd2561ce496..9b8fdaf9a25 100644 --- a/src/test/ui/token/macro-incomplete-parse.rs +++ b/src/test/ui/token/macro-incomplete-parse.rs @@ -20,7 +20,6 @@ macro_rules! ignored_item { macro_rules! ignored_expr { () => ( 1, //~ ERROR expected one of `.`, `;`, `?`, `}`, or an operator, found `,` - //~^ NOTE expected one of `.`, `;`, `?`, `}`, or an operator here 2 ) } @@ -29,12 +28,12 @@ macro_rules! ignored_pat { () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,` } -ignored_item!(); //~ NOTE caused by the macro expansion here +ignored_item!(); fn main() { - ignored_expr!(); //~ NOTE in this expansion + ignored_expr!(); match 1 { - ignored_pat!() => (), //~ NOTE caused by the macro expansion here + ignored_pat!() => (), _ => (), } } diff --git a/src/test/ui/token/macro-incomplete-parse.stderr b/src/test/ui/token/macro-incomplete-parse.stderr index 6bce09af052..28ba6cc37c3 100644 --- a/src/test/ui/token/macro-incomplete-parse.stderr +++ b/src/test/ui/token/macro-incomplete-parse.stderr @@ -5,9 +5,9 @@ error: macro expansion ignores token `,` and any following | ^ | note: caused by the macro expansion here; the usage of `ignored_item!` is likely invalid in item context - --> $DIR/macro-incomplete-parse.rs:32:1 + --> $DIR/macro-incomplete-parse.rs:31:1 | -32 | ignored_item!(); //~ NOTE caused by the macro expansion here +31 | ignored_item!(); | ^^^^^^^^^^^^^^^^ error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,` @@ -16,19 +16,19 @@ error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,` 22 | () => ( 1, //~ ERROR expected one of `.`, `;`, `?`, `}`, or an operator, found `,` | ^ expected one of `.`, `;`, `?`, `}`, or an operator here ... -35 | ignored_expr!(); //~ NOTE in this expansion +34 | ignored_expr!(); | ---------------- in this macro invocation error: macro expansion ignores token `,` and any following - --> $DIR/macro-incomplete-parse.rs:29:14 + --> $DIR/macro-incomplete-parse.rs:28:14 | -29 | () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,` +28 | () => ( 1, 2 ) //~ ERROR macro expansion ignores token `,` | ^ | note: caused by the macro expansion here; the usage of `ignored_pat!` is likely invalid in pattern context - --> $DIR/macro-incomplete-parse.rs:37:9 + --> $DIR/macro-incomplete-parse.rs:36:9 | -37 | ignored_pat!() => (), //~ NOTE caused by the macro expansion here +36 | ignored_pat!() => (), | ^^^^^^^^^^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/trait-duplicate-methods.rs b/src/test/ui/trait-duplicate-methods.rs index b8e628dd47a..d35caa40a2d 100644 --- a/src/test/ui/trait-duplicate-methods.rs +++ b/src/test/ui/trait-duplicate-methods.rs @@ -9,10 +9,8 @@ // except according to those terms. trait Foo { - fn orange(&self); //~ NOTE previous definition of the value `orange` here + fn orange(&self); fn orange(&self); //~ ERROR the name `orange` is defined multiple times - //~| NOTE `orange` redefined here -//~| NOTE `orange` must be defined only once in the value namespace of this trait } fn main() {} diff --git a/src/test/ui/trait-duplicate-methods.stderr b/src/test/ui/trait-duplicate-methods.stderr index 0deec625d10..5f796777c41 100644 --- a/src/test/ui/trait-duplicate-methods.stderr +++ b/src/test/ui/trait-duplicate-methods.stderr @@ -1,7 +1,7 @@ error[E0428]: the name `orange` is defined multiple times --> $DIR/trait-duplicate-methods.rs:13:5 | -12 | fn orange(&self); //~ NOTE previous definition of the value `orange` here +12 | fn orange(&self); | ----------------- previous definition of the value `orange` here 13 | fn orange(&self); //~ ERROR the name `orange` is defined multiple times | ^^^^^^^^^^^^^^^^^ `orange` redefined here diff --git a/src/test/ui/trait-safety-fn-body.rs b/src/test/ui/trait-safety-fn-body.rs index 65732a8ff69..1a2bcc471b4 100644 --- a/src/test/ui/trait-safety-fn-body.rs +++ b/src/test/ui/trait-safety-fn-body.rs @@ -20,7 +20,6 @@ unsafe impl UnsafeTrait for *mut isize { // Unsafe actions are not made legal by taking place in an unsafe trait: *self += 1; //~^ ERROR E0133 - //~| NOTE dereference of raw pointer } } diff --git a/src/test/ui/trait-suggest-where-clause.rs b/src/test/ui/trait-suggest-where-clause.rs index 2c38d8d2e28..5dcb4c8a220 100644 --- a/src/test/ui/trait-suggest-where-clause.rs +++ b/src/test/ui/trait-suggest-where-clause.rs @@ -16,53 +16,30 @@ fn check<T: Iterator, U: ?Sized>() { // suggest a where-clause, if needed mem::size_of::<U>(); //~^ ERROR `U: std::marker::Sized` is not satisfied - //~| HELP consider adding a `where U: std::marker::Sized` bound - //~| NOTE required by `std::mem::size_of` - //~| NOTE `U` does not have a constant size known at compile-time - //~| HELP the trait `std::marker::Sized` is not implemented for `U` mem::size_of::<Misc<U>>(); //~^ ERROR `U: std::marker::Sized` is not satisfied - //~| HELP consider adding a `where U: std::marker::Sized` bound - //~| NOTE required because it appears within the type `Misc<U>` - //~| NOTE required by `std::mem::size_of` - //~| NOTE `U` does not have a constant size known at compile-time - //~| HELP within `Misc<U>`, the trait `std::marker::Sized` is not implemented for `U` // ... even if T occurs as a type parameter <u64 as From<T>>::from; //~^ ERROR `u64: std::convert::From<T>` is not satisfied - //~| HELP consider adding a `where u64: std::convert::From<T>` bound - //~| NOTE required by `std::convert::From::from` - //~| NOTE the trait `std::convert::From<T>` is not implemented for `u64` <u64 as From<<T as Iterator>::Item>>::from; //~^ ERROR `u64: std::convert::From<<T as std::iter::Iterator>::Item>` is not satisfied - //~| HELP consider adding a `where u64: - //~| NOTE required by `std::convert::From::from` - //~| NOTE the trait `std::convert::From<<T as std::iter::Iterator>::Item>` is not implemented // ... but not if there are inference variables <Misc<_> as From<T>>::from; //~^ ERROR `Misc<_>: std::convert::From<T>` is not satisfied - //~| NOTE required by `std::convert::From::from` - //~| NOTE the trait `std::convert::From<T>` is not implemented for `Misc<_>` // ... and also not if the error is not related to the type mem::size_of::<[T]>(); //~^ ERROR `[T]: std::marker::Sized` is not satisfied - //~| NOTE `[T]` does not have a constant size - //~| NOTE required by `std::mem::size_of` - //~| HELP the trait `std::marker::Sized` is not implemented for `[T]` mem::size_of::<[&U]>(); //~^ ERROR `[&U]: std::marker::Sized` is not satisfied - //~| NOTE `[&U]` does not have a constant size - //~| NOTE required by `std::mem::size_of` - //~| HELP the trait `std::marker::Sized` is not implemented for `[&U]` } fn main() { diff --git a/src/test/ui/trait-suggest-where-clause.stderr b/src/test/ui/trait-suggest-where-clause.stderr index ddf549f4ecd..57d2b9aae78 100644 --- a/src/test/ui/trait-suggest-where-clause.stderr +++ b/src/test/ui/trait-suggest-where-clause.stderr @@ -9,9 +9,9 @@ error[E0277]: the trait bound `U: std::marker::Sized` is not satisfied = note: required by `std::mem::size_of` error[E0277]: the trait bound `U: std::marker::Sized` is not satisfied in `Misc<U>` - --> $DIR/trait-suggest-where-clause.rs:24:5 + --> $DIR/trait-suggest-where-clause.rs:20:5 | -24 | mem::size_of::<Misc<U>>(); +20 | mem::size_of::<Misc<U>>(); | ^^^^^^^^^^^^^^^^^^^^^^^ `U` does not have a constant size known at compile-time | = help: within `Misc<U>`, the trait `std::marker::Sized` is not implemented for `U` @@ -20,44 +20,44 @@ error[E0277]: the trait bound `U: std::marker::Sized` is not satisfied in `Misc< = note: required by `std::mem::size_of` error[E0277]: the trait bound `u64: std::convert::From<T>` is not satisfied - --> $DIR/trait-suggest-where-clause.rs:34:5 + --> $DIR/trait-suggest-where-clause.rs:25:5 | -34 | <u64 as From<T>>::from; +25 | <u64 as From<T>>::from; | ^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<T>` is not implemented for `u64` | = help: consider adding a `where u64: std::convert::From<T>` bound = note: required by `std::convert::From::from` error[E0277]: the trait bound `u64: std::convert::From<<T as std::iter::Iterator>::Item>` is not satisfied - --> $DIR/trait-suggest-where-clause.rs:40:5 + --> $DIR/trait-suggest-where-clause.rs:28:5 | -40 | <u64 as From<<T as Iterator>::Item>>::from; +28 | <u64 as From<<T as Iterator>::Item>>::from; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<<T as std::iter::Iterator>::Item>` is not implemented for `u64` | = help: consider adding a `where u64: std::convert::From<<T as std::iter::Iterator>::Item>` bound = note: required by `std::convert::From::from` error[E0277]: the trait bound `Misc<_>: std::convert::From<T>` is not satisfied - --> $DIR/trait-suggest-where-clause.rs:48:5 + --> $DIR/trait-suggest-where-clause.rs:33:5 | -48 | <Misc<_> as From<T>>::from; +33 | <Misc<_> as From<T>>::from; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<T>` is not implemented for `Misc<_>` | = note: required by `std::convert::From::from` error[E0277]: the trait bound `[T]: std::marker::Sized` is not satisfied - --> $DIR/trait-suggest-where-clause.rs:55:5 + --> $DIR/trait-suggest-where-clause.rs:38:5 | -55 | mem::size_of::<[T]>(); +38 | mem::size_of::<[T]>(); | ^^^^^^^^^^^^^^^^^^^ `[T]` does not have a constant size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `[T]` = note: required by `std::mem::size_of` error[E0277]: the trait bound `[&U]: std::marker::Sized` is not satisfied - --> $DIR/trait-suggest-where-clause.rs:61:5 + --> $DIR/trait-suggest-where-clause.rs:41:5 | -61 | mem::size_of::<[&U]>(); +41 | mem::size_of::<[&U]>(); | ^^^^^^^^^^^^^^^^^^^^ `[&U]` does not have a constant size known at compile-time | = help: the trait `std::marker::Sized` is not implemented for `[&U]` diff --git a/src/test/ui/traits-multidispatch-convert-ambig-dest.rs b/src/test/ui/traits-multidispatch-convert-ambig-dest.rs index 2e115431c92..0d4855c544f 100644 --- a/src/test/ui/traits-multidispatch-convert-ambig-dest.rs +++ b/src/test/ui/traits-multidispatch-convert-ambig-dest.rs @@ -35,7 +35,6 @@ where T : Convert<U> fn a() { test(22, std::default::Default::default()); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `U` } fn main() {} diff --git a/src/test/ui/type-check/assignment-in-if.rs b/src/test/ui/type-check/assignment-in-if.rs index e4422f0b99a..d4d070ecaef 100644 --- a/src/test/ui/type-check/assignment-in-if.rs +++ b/src/test/ui/type-check/assignment-in-if.rs @@ -24,25 +24,21 @@ fn main() { // `x { ... }` should not be interpreted as a struct literal here if x = x { //~^ ERROR mismatched types - //~| HELP try comparing for equality println!("{}", x); } // Explicit parentheses on the left should match behavior of above if (x = x) { //~^ ERROR mismatched types - //~| HELP try comparing for equality println!("{}", x); } // The struct literal interpretation is fine with explicit parentheses on the right if y = (Foo { foo: x }) { //~^ ERROR mismatched types - //~| HELP try comparing for equality println!("{}", x); } // "invalid left-hand side expression" error is suppresed if 3 = x { //~^ ERROR mismatched types - //~| HELP try comparing for equality println!("{}", x); } if (if true { x = 4 } else { x = 5 }) { diff --git a/src/test/ui/type-check/assignment-in-if.stderr b/src/test/ui/type-check/assignment-in-if.stderr index 6052b3091c7..fffdca17d84 100644 --- a/src/test/ui/type-check/assignment-in-if.stderr +++ b/src/test/ui/type-check/assignment-in-if.stderr @@ -11,9 +11,9 @@ error[E0308]: mismatched types found type `()` error[E0308]: mismatched types - --> $DIR/assignment-in-if.rs:31:8 + --> $DIR/assignment-in-if.rs:30:8 | -31 | if (x = x) { +30 | if (x = x) { | ^^^^^^^ | | | expected bool, found () @@ -23,9 +23,9 @@ error[E0308]: mismatched types found type `()` error[E0308]: mismatched types - --> $DIR/assignment-in-if.rs:37:8 + --> $DIR/assignment-in-if.rs:35:8 | -37 | if y = (Foo { foo: x }) { +35 | if y = (Foo { foo: x }) { | ^^^^^^^^^^^^^^^^^^^^ | | | expected bool, found () @@ -35,9 +35,9 @@ error[E0308]: mismatched types found type `()` error[E0308]: mismatched types - --> $DIR/assignment-in-if.rs:43:8 + --> $DIR/assignment-in-if.rs:40:8 | -43 | if 3 = x { +40 | if 3 = x { | ^^^^^ | | | expected bool, found () @@ -47,9 +47,9 @@ error[E0308]: mismatched types found type `()` error[E0308]: mismatched types - --> $DIR/assignment-in-if.rs:48:8 + --> $DIR/assignment-in-if.rs:44:8 | -48 | if (if true { x = 4 } else { x = 5 }) { +44 | if (if true { x = 4 } else { x = 5 }) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected bool, found () | = note: expected type `bool` diff --git a/src/test/ui/type-check/missing_trait_impl.rs b/src/test/ui/type-check/missing_trait_impl.rs index fe008db68a0..adf6b85b642 100644 --- a/src/test/ui/type-check/missing_trait_impl.rs +++ b/src/test/ui/type-check/missing_trait_impl.rs @@ -13,5 +13,4 @@ fn main() { fn foo<T>(x: T, y: T) { let z = x + y; //~ ERROR binary operation `+` cannot be applied to type `T` - //~^ NOTE `T` might need a bound for `std::ops::Add` } diff --git a/src/test/ui/type-recursive.rs b/src/test/ui/type-recursive.rs index 5dd76ce32c7..4bb739800df 100644 --- a/src/test/ui/type-recursive.rs +++ b/src/test/ui/type-recursive.rs @@ -9,9 +9,8 @@ // except according to those terms. struct t1 { //~ ERROR E0072 - //~| NOTE recursive type has infinite size foo: isize, - foolish: t1 //~ NOTE recursive without indirection + foolish: t1 } fn main() { } diff --git a/src/test/ui/type-recursive.stderr b/src/test/ui/type-recursive.stderr index d96b1f3e987..4c764529797 100644 --- a/src/test/ui/type-recursive.stderr +++ b/src/test/ui/type-recursive.stderr @@ -3,8 +3,8 @@ error[E0072]: recursive type `t1` has infinite size | 11 | struct t1 { //~ ERROR E0072 | ^^^^^^^^^ recursive type has infinite size -... -14 | foolish: t1 //~ NOTE recursive without indirection +12 | foo: isize, +13 | foolish: t1 | ----------- recursive without indirection | = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `t1` representable diff --git a/src/test/ui/typeck-builtin-bound-type-parameters.rs b/src/test/ui/typeck-builtin-bound-type-parameters.rs index 0d98e044ab0..15fc3ecab97 100644 --- a/src/test/ui/typeck-builtin-bound-type-parameters.rs +++ b/src/test/ui/typeck-builtin-bound-type-parameters.rs @@ -10,26 +10,20 @@ fn foo1<T:Copy<U>, U>(x: T) {} //~^ ERROR wrong number of type arguments: expected 0, found 1 [E0244] -//~| NOTE expected no type arguments trait Trait: Copy<Send> {} //~^ ERROR wrong number of type arguments: expected 0, found 1 [E0244] -//~| NOTE expected no type arguments struct MyStruct1<T: Copy<T>>; //~^ ERROR wrong number of type arguments: expected 0, found 1 [E0244] -//~| NOTE expected no type arguments struct MyStruct2<'a, T: Copy<'a>>; //~^ ERROR: wrong number of lifetime parameters: expected 0, found 1 -//~| NOTE unexpected lifetime parameter fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} //~^ ERROR wrong number of type arguments: expected 0, found 1 [E0244] -//~| NOTE expected no type arguments //~| ERROR: wrong number of lifetime parameters: expected 0, found 1 -//~| NOTE unexpected lifetime parameter fn main() { } diff --git a/src/test/ui/typeck-builtin-bound-type-parameters.stderr b/src/test/ui/typeck-builtin-bound-type-parameters.stderr index fc39b2b8e9d..cf280bf1cd3 100644 --- a/src/test/ui/typeck-builtin-bound-type-parameters.stderr +++ b/src/test/ui/typeck-builtin-bound-type-parameters.stderr @@ -5,33 +5,33 @@ error[E0244]: wrong number of type arguments: expected 0, found 1 | ^^^^^^^ expected no type arguments error[E0244]: wrong number of type arguments: expected 0, found 1 - --> $DIR/typeck-builtin-bound-type-parameters.rs:15:14 + --> $DIR/typeck-builtin-bound-type-parameters.rs:14:14 | -15 | trait Trait: Copy<Send> {} +14 | trait Trait: Copy<Send> {} | ^^^^^^^^^^ expected no type arguments error[E0244]: wrong number of type arguments: expected 0, found 1 - --> $DIR/typeck-builtin-bound-type-parameters.rs:19:21 + --> $DIR/typeck-builtin-bound-type-parameters.rs:17:21 | -19 | struct MyStruct1<T: Copy<T>>; +17 | struct MyStruct1<T: Copy<T>>; | ^^^^^^^ expected no type arguments error[E0107]: wrong number of lifetime parameters: expected 0, found 1 - --> $DIR/typeck-builtin-bound-type-parameters.rs:23:25 + --> $DIR/typeck-builtin-bound-type-parameters.rs:20:25 | -23 | struct MyStruct2<'a, T: Copy<'a>>; +20 | struct MyStruct2<'a, T: Copy<'a>>; | ^^^^^^^^ unexpected lifetime parameter error[E0107]: wrong number of lifetime parameters: expected 0, found 1 - --> $DIR/typeck-builtin-bound-type-parameters.rs:28:15 + --> $DIR/typeck-builtin-bound-type-parameters.rs:24:15 | -28 | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} +24 | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} | ^^^^^^^^^^^ unexpected lifetime parameter error[E0244]: wrong number of type arguments: expected 0, found 1 - --> $DIR/typeck-builtin-bound-type-parameters.rs:28:15 + --> $DIR/typeck-builtin-bound-type-parameters.rs:24:15 | -28 | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} +24 | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} | ^^^^^^^^^^^ expected no type arguments error: aborting due to 6 previous errors diff --git a/src/test/ui/typeck-default-trait-impl-outside-crate.rs b/src/test/ui/typeck-default-trait-impl-outside-crate.rs index da3e926d6fc..ff0446e23e6 100644 --- a/src/test/ui/typeck-default-trait-impl-outside-crate.rs +++ b/src/test/ui/typeck-default-trait-impl-outside-crate.rs @@ -12,5 +12,4 @@ #[allow(auto_impl)] impl Copy for .. {} //~ ERROR E0318 - //~^ NOTE `Copy` trait not defined in this crate fn main() {} diff --git a/src/test/ui/typeck_type_placeholder_item.rs b/src/test/ui/typeck_type_placeholder_item.rs index 42db3b47a04..d4f3cdfd8b7 100644 --- a/src/test/ui/typeck_type_placeholder_item.rs +++ b/src/test/ui/typeck_type_placeholder_item.rs @@ -13,141 +13,107 @@ fn test() -> _ { 5 } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures fn test2() -> (_, _) { (5, 5) } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures -//~| NOTE not allowed in type signatures static TEST3: _ = "test"; //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures static TEST4: _ = 145; //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures static TEST5: (_, _) = (1, 2); //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures -//~| NOTE not allowed in type signatures fn test6(_: _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures fn test7(x: _) { let _x: usize = x; } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures fn test8(_f: fn() -> _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures -//~| NOTE not allowed in type signatures struct Test9; impl Test9 { fn test9(&self) -> _ { () } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn test10(&self, _x : _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures } impl Clone for Test9 { fn clone(&self) -> _ { Test9 } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn clone_from(&mut self, other: _) { *self = Test9; } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures } struct Test10 { a: _, //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures b: (_, _), //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures - //~| NOTE not allowed in type signatures } pub fn main() { fn fn_test() -> _ { 5 } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn fn_test2() -> (_, _) { (5, 5) } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures - //~| NOTE not allowed in type signatures static FN_TEST3: _ = "test"; //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures static FN_TEST4: _ = 145; //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures static FN_TEST5: (_, _) = (1, 2); //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures - //~| NOTE not allowed in type signatures fn fn_test6(_: _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn fn_test7(x: _) { let _x: usize = x; } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn fn_test8(_f: fn() -> _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures struct FnTest9; impl FnTest9 { fn fn_test9(&self) -> _ { () } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn fn_test10(&self, _x : _) { } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures } impl Clone for FnTest9 { fn clone(&self) -> _ { FnTest9 } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures fn clone_from(&mut self, other: _) { *self = FnTest9; } //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures } struct FnTest10 { a: _, //~^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures b: (_, _), //~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^^ ERROR the type placeholder `_` is not allowed within types on item signatures - //~| NOTE not allowed in type signatures - //~| NOTE not allowed in type signatures } } diff --git a/src/test/ui/typeck_type_placeholder_item.stderr b/src/test/ui/typeck_type_placeholder_item.stderr index 046fce4e325..39e42731576 100644 --- a/src/test/ui/typeck_type_placeholder_item.stderr +++ b/src/test/ui/typeck_type_placeholder_item.stderr @@ -5,201 +5,201 @@ error[E0121]: the type placeholder `_` is not allowed within types on item signa | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:18:16 + --> $DIR/typeck_type_placeholder_item.rs:17:16 | -18 | fn test2() -> (_, _) { (5, 5) } +17 | fn test2() -> (_, _) { (5, 5) } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:18:19 + --> $DIR/typeck_type_placeholder_item.rs:17:19 | -18 | fn test2() -> (_, _) { (5, 5) } +17 | fn test2() -> (_, _) { (5, 5) } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:24:15 + --> $DIR/typeck_type_placeholder_item.rs:21:15 | -24 | static TEST3: _ = "test"; +21 | static TEST3: _ = "test"; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:28:15 + --> $DIR/typeck_type_placeholder_item.rs:24:15 | -28 | static TEST4: _ = 145; +24 | static TEST4: _ = 145; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:32:16 + --> $DIR/typeck_type_placeholder_item.rs:27:16 | -32 | static TEST5: (_, _) = (1, 2); +27 | static TEST5: (_, _) = (1, 2); | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:32:19 + --> $DIR/typeck_type_placeholder_item.rs:27:19 | -32 | static TEST5: (_, _) = (1, 2); +27 | static TEST5: (_, _) = (1, 2); | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:38:13 + --> $DIR/typeck_type_placeholder_item.rs:31:13 | -38 | fn test6(_: _) { } +31 | fn test6(_: _) { } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:42:13 + --> $DIR/typeck_type_placeholder_item.rs:34:13 | -42 | fn test7(x: _) { let _x: usize = x; } +34 | fn test7(x: _) { let _x: usize = x; } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:46:22 + --> $DIR/typeck_type_placeholder_item.rs:37:22 | -46 | fn test8(_f: fn() -> _) { } +37 | fn test8(_f: fn() -> _) { } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:73:8 + --> $DIR/typeck_type_placeholder_item.rs:59:8 | -73 | a: _, +59 | a: _, | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:76:9 + --> $DIR/typeck_type_placeholder_item.rs:61:9 | -76 | b: (_, _), +61 | b: (_, _), | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:76:12 + --> $DIR/typeck_type_placeholder_item.rs:61:12 | -76 | b: (_, _), +61 | b: (_, _), | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:84:21 + --> $DIR/typeck_type_placeholder_item.rs:67:21 | -84 | fn fn_test() -> _ { 5 } +67 | fn fn_test() -> _ { 5 } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:88:23 + --> $DIR/typeck_type_placeholder_item.rs:70:23 | -88 | fn fn_test2() -> (_, _) { (5, 5) } +70 | fn fn_test2() -> (_, _) { (5, 5) } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:88:26 + --> $DIR/typeck_type_placeholder_item.rs:70:26 | -88 | fn fn_test2() -> (_, _) { (5, 5) } +70 | fn fn_test2() -> (_, _) { (5, 5) } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:94:22 + --> $DIR/typeck_type_placeholder_item.rs:74:22 | -94 | static FN_TEST3: _ = "test"; +74 | static FN_TEST3: _ = "test"; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:98:22 + --> $DIR/typeck_type_placeholder_item.rs:77:22 | -98 | static FN_TEST4: _ = 145; +77 | static FN_TEST4: _ = 145; | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:102:23 - | -102 | static FN_TEST5: (_, _) = (1, 2); - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:80:23 + | +80 | static FN_TEST5: (_, _) = (1, 2); + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:102:26 - | -102 | static FN_TEST5: (_, _) = (1, 2); - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:80:26 + | +80 | static FN_TEST5: (_, _) = (1, 2); + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:108:20 - | -108 | fn fn_test6(_: _) { } - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:84:20 + | +84 | fn fn_test6(_: _) { } + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:112:20 - | -112 | fn fn_test7(x: _) { let _x: usize = x; } - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:87:20 + | +87 | fn fn_test7(x: _) { let _x: usize = x; } + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:116:29 - | -116 | fn fn_test8(_f: fn() -> _) { } - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:90:29 + | +90 | fn fn_test8(_f: fn() -> _) { } + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:143:12 + --> $DIR/typeck_type_placeholder_item.rs:112:12 | -143 | a: _, +112 | a: _, | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:146:13 + --> $DIR/typeck_type_placeholder_item.rs:114:13 | -146 | b: (_, _), +114 | b: (_, _), | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:146:16 + --> $DIR/typeck_type_placeholder_item.rs:114:16 | -146 | b: (_, _), +114 | b: (_, _), | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:53:24 + --> $DIR/typeck_type_placeholder_item.rs:43:24 | -53 | fn test9(&self) -> _ { () } +43 | fn test9(&self) -> _ { () } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:57:27 + --> $DIR/typeck_type_placeholder_item.rs:46:27 | -57 | fn test10(&self, _x : _) { } +46 | fn test10(&self, _x : _) { } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:63:24 + --> $DIR/typeck_type_placeholder_item.rs:51:24 | -63 | fn clone(&self) -> _ { Test9 } +51 | fn clone(&self) -> _ { Test9 } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:67:37 + --> $DIR/typeck_type_placeholder_item.rs:54:37 | -67 | fn clone_from(&mut self, other: _) { *self = Test9; } +54 | fn clone_from(&mut self, other: _) { *self = Test9; } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:123:31 - | -123 | fn fn_test9(&self) -> _ { () } - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:96:31 + | +96 | fn fn_test9(&self) -> _ { () } + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:127:34 - | -127 | fn fn_test10(&self, _x : _) { } - | ^ not allowed in type signatures + --> $DIR/typeck_type_placeholder_item.rs:99:34 + | +99 | fn fn_test10(&self, _x : _) { } + | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:133:28 + --> $DIR/typeck_type_placeholder_item.rs:104:28 | -133 | fn clone(&self) -> _ { FnTest9 } +104 | fn clone(&self) -> _ { FnTest9 } | ^ not allowed in type signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures - --> $DIR/typeck_type_placeholder_item.rs:137:41 + --> $DIR/typeck_type_placeholder_item.rs:107:41 | -137 | fn clone_from(&mut self, other: _) { *self = FnTest9; } +107 | fn clone_from(&mut self, other: _) { *self = FnTest9; } | ^ not allowed in type signatures error: aborting due to 34 previous errors diff --git a/src/test/ui/typeck_type_placeholder_lifetime_1.rs b/src/test/ui/typeck_type_placeholder_lifetime_1.rs index ad57752b6f7..49774ab173a 100644 --- a/src/test/ui/typeck_type_placeholder_lifetime_1.rs +++ b/src/test/ui/typeck_type_placeholder_lifetime_1.rs @@ -18,5 +18,4 @@ struct Foo<'a, T:'a> { pub fn main() { let c: Foo<_, _> = Foo { r: &5 }; //~^ ERROR wrong number of type arguments: expected 1, found 2 [E0244] - //~| NOTE expected 1 type argument } diff --git a/src/test/ui/typeck_type_placeholder_lifetime_2.rs b/src/test/ui/typeck_type_placeholder_lifetime_2.rs index f1ecad0056e..40617613ed7 100644 --- a/src/test/ui/typeck_type_placeholder_lifetime_2.rs +++ b/src/test/ui/typeck_type_placeholder_lifetime_2.rs @@ -18,5 +18,4 @@ struct Foo<'a, T:'a> { pub fn main() { let c: Foo<_, usize> = Foo { r: &5 }; //~^ ERROR wrong number of type arguments: expected 1, found 2 [E0244] - //~| NOTE expected 1 type argument } diff --git a/src/test/ui/unboxed-closure-sugar-wrong-trait.rs b/src/test/ui/unboxed-closure-sugar-wrong-trait.rs index 95d78c07501..1519ceb8988 100644 --- a/src/test/ui/unboxed-closure-sugar-wrong-trait.rs +++ b/src/test/ui/unboxed-closure-sugar-wrong-trait.rs @@ -14,8 +14,6 @@ trait Trait {} fn f<F:Trait(isize) -> isize>(x: F) {} //~^ ERROR wrong number of type arguments: expected 0, found 1 [E0244] -//~| NOTE expected no type arguments //~| ERROR E0220 -//~| NOTE associated type `Output` not found fn main() {} diff --git a/src/test/ui/unconstrained-none.rs b/src/test/ui/unconstrained-none.rs index 52ca91e62f8..81247734979 100644 --- a/src/test/ui/unconstrained-none.rs +++ b/src/test/ui/unconstrained-none.rs @@ -12,5 +12,4 @@ fn main() { None; //~ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `T` } diff --git a/src/test/ui/unconstrained-ref.rs b/src/test/ui/unconstrained-ref.rs index 6aaed789716..05c0d23b7e7 100644 --- a/src/test/ui/unconstrained-ref.rs +++ b/src/test/ui/unconstrained-ref.rs @@ -14,5 +14,4 @@ struct S<'a, T:'a> { fn main() { S { o: &None }; //~ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `T` } diff --git a/src/test/ui/union/union-const-eval.rs b/src/test/ui/union/union-const-eval.rs index 73b7743fc45..a4c969ba20c 100644 --- a/src/test/ui/union/union-const-eval.rs +++ b/src/test/ui/union/union-const-eval.rs @@ -19,8 +19,6 @@ fn main() { unsafe { let a: [u8; C.a]; // OK let b: [u8; C.b]; //~ ERROR constant evaluation error - //~^ NOTE nonexistent struct field //~| WARNING constant evaluation error - //~| NOTE on by default } } diff --git a/src/test/ui/union/union-fields-2.rs b/src/test/ui/union/union-fields-2.rs index 124b16f99b1..7b9ff866a43 100644 --- a/src/test/ui/union/union-fields-2.rs +++ b/src/test/ui/union/union-fields-2.rs @@ -19,8 +19,6 @@ fn main() { let u = U { a: 0, b: 1 }; //~ ERROR union expressions should have exactly one field let u = U { a: 0, b: 1, c: 2 }; //~ ERROR union expressions should have exactly one field //~^ ERROR union `U` has no field named `c` - //~| NOTE `U` does not have this field - //~| NOTE available fields are: `a`, `b` let u = U { ..u }; //~ ERROR union expressions should have exactly one field //~^ ERROR functional record update syntax requires a struct @@ -29,7 +27,6 @@ fn main() { let U { a, b } = u; //~ ERROR union patterns should have exactly one field let U { a, b, c } = u; //~ ERROR union patterns should have exactly one field //~^ ERROR union `U` does not have a field named `c` - //~| NOTE union `U` does not have field `c` let U { .. } = u; //~ ERROR union patterns should have exactly one field //~^ ERROR `..` cannot be used in union patterns let U { a, .. } = u; //~ ERROR `..` cannot be used in union patterns diff --git a/src/test/ui/union/union-fields-2.stderr b/src/test/ui/union/union-fields-2.stderr index 19c0552fdaa..f6c64dcabd7 100644 --- a/src/test/ui/union/union-fields-2.stderr +++ b/src/test/ui/union/union-fields-2.stderr @@ -25,57 +25,57 @@ error: union expressions should have exactly one field | ^ error: union expressions should have exactly one field - --> $DIR/union-fields-2.rs:24:13 + --> $DIR/union-fields-2.rs:22:13 | -24 | let u = U { ..u }; //~ ERROR union expressions should have exactly one field +22 | let u = U { ..u }; //~ ERROR union expressions should have exactly one field | ^ error[E0436]: functional record update syntax requires a struct - --> $DIR/union-fields-2.rs:24:19 + --> $DIR/union-fields-2.rs:22:19 | -24 | let u = U { ..u }; //~ ERROR union expressions should have exactly one field +22 | let u = U { ..u }; //~ ERROR union expressions should have exactly one field | ^ error: union patterns should have exactly one field - --> $DIR/union-fields-2.rs:27:9 + --> $DIR/union-fields-2.rs:25:9 | -27 | let U {} = u; //~ ERROR union patterns should have exactly one field +25 | let U {} = u; //~ ERROR union patterns should have exactly one field | ^^^^ error: union patterns should have exactly one field - --> $DIR/union-fields-2.rs:29:9 + --> $DIR/union-fields-2.rs:27:9 | -29 | let U { a, b } = u; //~ ERROR union patterns should have exactly one field +27 | let U { a, b } = u; //~ ERROR union patterns should have exactly one field | ^^^^^^^^^^ error[E0026]: union `U` does not have a field named `c` - --> $DIR/union-fields-2.rs:30:19 + --> $DIR/union-fields-2.rs:28:19 | -30 | let U { a, b, c } = u; //~ ERROR union patterns should have exactly one field +28 | let U { a, b, c } = u; //~ ERROR union patterns should have exactly one field | ^ union `U` does not have field `c` error: union patterns should have exactly one field - --> $DIR/union-fields-2.rs:30:9 + --> $DIR/union-fields-2.rs:28:9 | -30 | let U { a, b, c } = u; //~ ERROR union patterns should have exactly one field +28 | let U { a, b, c } = u; //~ ERROR union patterns should have exactly one field | ^^^^^^^^^^^^^ error: union patterns should have exactly one field - --> $DIR/union-fields-2.rs:33:9 + --> $DIR/union-fields-2.rs:30:9 | -33 | let U { .. } = u; //~ ERROR union patterns should have exactly one field +30 | let U { .. } = u; //~ ERROR union patterns should have exactly one field | ^^^^^^^^ error: `..` cannot be used in union patterns - --> $DIR/union-fields-2.rs:33:9 + --> $DIR/union-fields-2.rs:30:9 | -33 | let U { .. } = u; //~ ERROR union patterns should have exactly one field +30 | let U { .. } = u; //~ ERROR union patterns should have exactly one field | ^^^^^^^^ error: `..` cannot be used in union patterns - --> $DIR/union-fields-2.rs:35:9 + --> $DIR/union-fields-2.rs:32:9 | -35 | let U { a, .. } = u; //~ ERROR `..` cannot be used in union patterns +32 | let U { a, .. } = u; //~ ERROR `..` cannot be used in union patterns | ^^^^^^^^^^^ error: aborting due to 13 previous errors diff --git a/src/test/ui/union/union-suggest-field.rs b/src/test/ui/union/union-suggest-field.rs index 65c7c980b8a..96fca78ef22 100644 --- a/src/test/ui/union/union-suggest-field.rs +++ b/src/test/ui/union/union-suggest-field.rs @@ -19,10 +19,8 @@ impl U { fn main() { let u = U { principle: 0 }; //~^ ERROR union `U` has no field named `principle` - //~| NOTE field does not exist - did you mean `principal`? let w = u.principial; //~ ERROR no field `principial` on type `U` //~^ did you mean `principal`? let y = u.calculate; //~ ERROR attempted to take value of method `calculate` on type `U` - //~^ HELP maybe a `()` to call it is missing? } diff --git a/src/test/ui/union/union-suggest-field.stderr b/src/test/ui/union/union-suggest-field.stderr index d76a92cf56e..d2ea09553bc 100644 --- a/src/test/ui/union/union-suggest-field.stderr +++ b/src/test/ui/union/union-suggest-field.stderr @@ -5,15 +5,15 @@ error[E0560]: union `U` has no field named `principle` | ^^^^^^^^^^ field does not exist - did you mean `principal`? error[E0609]: no field `principial` on type `U` - --> $DIR/union-suggest-field.rs:23:15 + --> $DIR/union-suggest-field.rs:22:15 | -23 | let w = u.principial; //~ ERROR no field `principial` on type `U` +22 | let w = u.principial; //~ ERROR no field `principial` on type `U` | ^^^^^^^^^^ did you mean `principal`? error[E0615]: attempted to take value of method `calculate` on type `U` - --> $DIR/union-suggest-field.rs:26:15 + --> $DIR/union-suggest-field.rs:25:15 | -26 | let y = u.calculate; //~ ERROR attempted to take value of method `calculate` on type `U` +25 | let y = u.calculate; //~ ERROR attempted to take value of method `calculate` on type `U` | ^^^^^^^^^ | = help: maybe a `()` to call it is missing? diff --git a/src/test/ui/unsafe-const-fn.rs b/src/test/ui/unsafe-const-fn.rs index 91e16592be4..765e2059a4b 100644 --- a/src/test/ui/unsafe-const-fn.rs +++ b/src/test/ui/unsafe-const-fn.rs @@ -18,7 +18,6 @@ const unsafe fn dummy(v: u32) -> u32 { const VAL: u32 = dummy(0xFFFF); //~^ ERROR E0133 -//~| NOTE call to unsafe function fn main() { assert_eq!(VAL, 0xFFFF0000); diff --git a/src/test/ui/use-mod.rs b/src/test/ui/use-mod.rs index 485a75f0f91..2eb716959c1 100644 --- a/src/test/ui/use-mod.rs +++ b/src/test/ui/use-mod.rs @@ -11,13 +11,9 @@ use foo::bar::{ self, //~^ ERROR `self` import can only appear once in the list -//~^^ NOTE previous import of the module `bar` here Bar, self -//~^ NOTE another `self` import appears here -//~| ERROR the name `bar` is defined multiple times -//~| NOTE `bar` reimported here -//~| NOTE `bar` must be defined only once in the type namespace of this module +//~^ ERROR the name `bar` is defined multiple times }; use {self}; diff --git a/src/test/ui/use-mod.stderr b/src/test/ui/use-mod.stderr index ea2f8662c5c..abc7e2beb1a 100644 --- a/src/test/ui/use-mod.stderr +++ b/src/test/ui/use-mod.stderr @@ -5,30 +5,30 @@ error[E0430]: `self` import can only appear once in the list | ^^^^ | note: another `self` import appears here - --> $DIR/use-mod.rs:16:5 + --> $DIR/use-mod.rs:15:5 | -16 | self +15 | self | ^^^^ error[E0431]: `self` import can only appear in an import list with a non-empty prefix - --> $DIR/use-mod.rs:23:6 + --> $DIR/use-mod.rs:19:6 | -23 | use {self}; +19 | use {self}; | ^^^^ error[E0252]: the name `bar` is defined multiple times - --> $DIR/use-mod.rs:16:5 + --> $DIR/use-mod.rs:15:5 | 12 | self, | ---- previous import of the module `bar` here ... -16 | self +15 | self | ^^^^ `bar` reimported here | = note: `bar` must be defined only once in the type namespace of this module help: You can use `as` to change the binding name of the import | -16 | self as Otherbar +15 | self as Otherbar | error: aborting due to 3 previous errors diff --git a/src/test/ui/variadic-ffi-3.rs b/src/test/ui/variadic-ffi-3.rs index fb102027180..12beebc181b 100644 --- a/src/test/ui/variadic-ffi-3.rs +++ b/src/test/ui/variadic-ffi-3.rs @@ -19,21 +19,17 @@ extern "C" fn bar(f: isize, x: u8) {} fn main() { unsafe { foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied - //~| NOTE expected at least 2 parameters foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied - //~| NOTE expected at least 2 parameters let x: unsafe extern "C" fn(f: isize, x: u8) = foo; //~^ ERROR: mismatched types //~| expected type `unsafe extern "C" fn(isize, u8)` //~| found type `unsafe extern "C" fn(isize, u8, ...) {foo}` - //~| NOTE: expected non-variadic fn, found variadic function let y: extern "C" fn(f: isize, x: u8, ...) = bar; //~^ ERROR: mismatched types //~| expected type `extern "C" fn(isize, u8, ...)` //~| found type `extern "C" fn(isize, u8) {bar}` - //~| NOTE: expected variadic fn, found non-variadic function foo(1, 2, 3f32); //~ ERROR can't pass `f32` to variadic function, cast to `c_double` foo(1, 2, true); //~ ERROR can't pass `bool` to variadic function, cast to `c_int` diff --git a/src/test/ui/variadic-ffi-3.stderr b/src/test/ui/variadic-ffi-3.stderr index ebee6398274..44660d853f2 100644 --- a/src/test/ui/variadic-ffi-3.stderr +++ b/src/test/ui/variadic-ffi-3.stderr @@ -8,66 +8,66 @@ error[E0060]: this function takes at least 2 parameters but 0 parameters were su | ^^^^^ expected at least 2 parameters error[E0060]: this function takes at least 2 parameters but 1 parameter was supplied - --> $DIR/variadic-ffi-3.rs:23:13 + --> $DIR/variadic-ffi-3.rs:22:13 | 12 | fn foo(f: isize, x: u8, ...); | ----------------------------- defined here ... -23 | foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied +22 | foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied | ^ expected at least 2 parameters error[E0308]: mismatched types - --> $DIR/variadic-ffi-3.rs:26:56 + --> $DIR/variadic-ffi-3.rs:24:56 | -26 | let x: unsafe extern "C" fn(f: isize, x: u8) = foo; +24 | let x: unsafe extern "C" fn(f: isize, x: u8) = foo; | ^^^ expected non-variadic fn, found variadic function | = note: expected type `unsafe extern "C" fn(isize, u8)` found type `unsafe extern "C" fn(isize, u8, ...) {foo}` error[E0308]: mismatched types - --> $DIR/variadic-ffi-3.rs:32:54 + --> $DIR/variadic-ffi-3.rs:29:54 | -32 | let y: extern "C" fn(f: isize, x: u8, ...) = bar; +29 | let y: extern "C" fn(f: isize, x: u8, ...) = bar; | ^^^ expected variadic fn, found non-variadic function | = note: expected type `extern "C" fn(isize, u8, ...)` found type `extern "C" fn(isize, u8) {bar}` error[E0617]: can't pass `f32` to variadic function, cast to `c_double` - --> $DIR/variadic-ffi-3.rs:38:19 + --> $DIR/variadic-ffi-3.rs:34:19 | -38 | foo(1, 2, 3f32); //~ ERROR can't pass `f32` to variadic function, cast to `c_double` +34 | foo(1, 2, 3f32); //~ ERROR can't pass `f32` to variadic function, cast to `c_double` | ^^^^ error[E0617]: can't pass `bool` to variadic function, cast to `c_int` - --> $DIR/variadic-ffi-3.rs:39:19 + --> $DIR/variadic-ffi-3.rs:35:19 | -39 | foo(1, 2, true); //~ ERROR can't pass `bool` to variadic function, cast to `c_int` +35 | foo(1, 2, true); //~ ERROR can't pass `bool` to variadic function, cast to `c_int` | ^^^^ error[E0617]: can't pass `i8` to variadic function, cast to `c_int` - --> $DIR/variadic-ffi-3.rs:40:19 + --> $DIR/variadic-ffi-3.rs:36:19 | -40 | foo(1, 2, 1i8); //~ ERROR can't pass `i8` to variadic function, cast to `c_int` +36 | foo(1, 2, 1i8); //~ ERROR can't pass `i8` to variadic function, cast to `c_int` | ^^^ error[E0617]: can't pass `u8` to variadic function, cast to `c_uint` - --> $DIR/variadic-ffi-3.rs:41:19 + --> $DIR/variadic-ffi-3.rs:37:19 | -41 | foo(1, 2, 1u8); //~ ERROR can't pass `u8` to variadic function, cast to `c_uint` +37 | foo(1, 2, 1u8); //~ ERROR can't pass `u8` to variadic function, cast to `c_uint` | ^^^ error[E0617]: can't pass `i16` to variadic function, cast to `c_int` - --> $DIR/variadic-ffi-3.rs:42:19 + --> $DIR/variadic-ffi-3.rs:38:19 | -42 | foo(1, 2, 1i16); //~ ERROR can't pass `i16` to variadic function, cast to `c_int` +38 | foo(1, 2, 1i16); //~ ERROR can't pass `i16` to variadic function, cast to `c_int` | ^^^^ error[E0617]: can't pass `u16` to variadic function, cast to `c_uint` - --> $DIR/variadic-ffi-3.rs:43:19 + --> $DIR/variadic-ffi-3.rs:39:19 | -43 | foo(1, 2, 1u16); //~ ERROR can't pass `u16` to variadic function, cast to `c_uint` +39 | foo(1, 2, 1u16); //~ ERROR can't pass `u16` to variadic function, cast to `c_uint` | ^^^^ error: aborting due to 10 previous errors diff --git a/src/test/ui/variance-unused-type-param.rs b/src/test/ui/variance-unused-type-param.rs index 862d842d62c..a5f6fd2fda1 100644 --- a/src/test/ui/variance-unused-type-param.rs +++ b/src/test/ui/variance-unused-type-param.rs @@ -15,16 +15,13 @@ struct SomeStruct<A> { x: u32 } //~^ ERROR parameter `A` is never used -//~| HELP PhantomData enum SomeEnum<A> { Nothing } //~^ ERROR parameter `A` is never used -//~| HELP PhantomData // Here T might *appear* used, but in fact it isn't. enum ListCell<T> { //~^ ERROR parameter `T` is never used -//~| HELP PhantomData Cons(Box<ListCell<T>>), Nil } diff --git a/src/test/ui/variance-unused-type-param.stderr b/src/test/ui/variance-unused-type-param.stderr index 4ff6ce78ac5..0b07ac38cb6 100644 --- a/src/test/ui/variance-unused-type-param.stderr +++ b/src/test/ui/variance-unused-type-param.stderr @@ -7,17 +7,17 @@ error[E0392]: parameter `A` is never used = help: consider removing `A` or using a marker such as `std::marker::PhantomData` error[E0392]: parameter `A` is never used - --> $DIR/variance-unused-type-param.rs:20:15 + --> $DIR/variance-unused-type-param.rs:19:15 | -20 | enum SomeEnum<A> { Nothing } +19 | enum SomeEnum<A> { Nothing } | ^ unused type parameter | = help: consider removing `A` or using a marker such as `std::marker::PhantomData` error[E0392]: parameter `T` is never used - --> $DIR/variance-unused-type-param.rs:25:15 + --> $DIR/variance-unused-type-param.rs:23:15 | -25 | enum ListCell<T> { +23 | enum ListCell<T> { | ^ unused type parameter | = help: consider removing `T` or using a marker such as `std::marker::PhantomData` diff --git a/src/test/ui/vector-no-ann.rs b/src/test/ui/vector-no-ann.rs index de229ded463..2143d2b64c6 100644 --- a/src/test/ui/vector-no-ann.rs +++ b/src/test/ui/vector-no-ann.rs @@ -12,6 +12,4 @@ fn main() { let _foo = Vec::new(); //~^ ERROR type annotations needed [E0282] - //~| NOTE cannot infer type for `T` - //~| NOTE consider giving `_foo` a type } |
