diff options
Diffstat (limited to 'src/test')
104 files changed, 736 insertions, 589 deletions
diff --git a/src/test/ui/async-await/issues/issue-65159.rs b/src/test/ui/async-await/issues/issue-65159.rs index ce3fa9180cb..1dbf5db6c32 100644 --- a/src/test/ui/async-await/issues/issue-65159.rs +++ b/src/test/ui/async-await/issues/issue-65159.rs @@ -3,7 +3,7 @@ // edition:2018 async fn copy() -> Result<()> -//~^ ERROR this enum takes 2 type arguments but only 1 type argument was supplied +//~^ ERROR this enum takes 2 generic arguments { Ok(()) //~^ ERROR type annotations needed diff --git a/src/test/ui/async-await/issues/issue-65159.stderr b/src/test/ui/async-await/issues/issue-65159.stderr index bcb4c292e26..51fc34c4818 100644 --- a/src/test/ui/async-await/issues/issue-65159.stderr +++ b/src/test/ui/async-await/issues/issue-65159.stderr @@ -1,17 +1,17 @@ -error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied +error[E0107]: this enum takes 2 generic arguments but 1 generic argument was supplied --> $DIR/issue-65159.rs:5:20 | LL | async fn copy() -> Result<()> - | ^^^^^^ -- supplied 1 type argument + | ^^^^^^ -- supplied 1 generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: add missing type argument +help: add missing generic argument | LL | async fn copy() -> Result<(), E> | ^^^ diff --git a/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.rs b/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.rs index 2e6b88a4beb..569769b8213 100644 --- a/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.rs +++ b/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.rs @@ -15,7 +15,7 @@ impl MarketMultiplier { async fn buy_lock(generator: &Mutex<MarketMultiplier>) -> LockedMarket<'_> { //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied - //~^^ ERROR this struct takes 1 type argument but 0 type arguments were supplied + //~^^ ERROR this struct takes 1 generic argument but 0 generic arguments were supplied LockedMarket(generator.lock().unwrap().buy()) //~^ ERROR cannot return value referencing temporary value } diff --git a/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.stderr b/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.stderr index b6844f50488..0d506a0956d 100644 --- a/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.stderr +++ b/src/test/ui/borrowck/issue-82126-mismatched-subst-and-hir.stderr @@ -12,18 +12,18 @@ note: struct defined here, with 0 lifetime parameters LL | struct LockedMarket<T>(T); | ^^^^^^^^^^^^ -error[E0107]: this struct takes 1 type argument but 0 type arguments were supplied +error[E0107]: this struct takes 1 generic argument but 0 generic arguments were supplied --> $DIR/issue-82126-mismatched-subst-and-hir.rs:16:59 | LL | async fn buy_lock(generator: &Mutex<MarketMultiplier>) -> LockedMarket<'_> { - | ^^^^^^^^^^^^ expected 1 type argument + | ^^^^^^^^^^^^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/issue-82126-mismatched-subst-and-hir.rs:23:8 | LL | struct LockedMarket<T>(T); | ^^^^^^^^^^^^ - -help: add missing type argument +help: add missing generic argument | LL | async fn buy_lock(generator: &Mutex<MarketMultiplier>) -> LockedMarket<'_, T> { | ^^^ diff --git a/src/test/ui/const-generics/incorrect-number-of-const-args.full.stderr b/src/test/ui/const-generics/incorrect-number-of-const-args.full.stderr index dd7e63480eb..9deda56cd0d 100644 --- a/src/test/ui/const-generics/incorrect-number-of-const-args.full.stderr +++ b/src/test/ui/const-generics/incorrect-number-of-const-args.full.stderr @@ -1,30 +1,30 @@ -error[E0107]: this function takes 2 const arguments but only 1 const argument was supplied +error[E0107]: this function takes 2 generic arguments but 1 generic argument was supplied --> $DIR/incorrect-number-of-const-args.rs:11:5 | LL | foo::<0>(); - | ^^^ - supplied 1 const argument + | ^^^ - supplied 1 generic argument | | - | expected 2 const arguments + | expected 2 generic arguments | -note: function defined here, with 2 const parameters: `X`, `Y` +note: function defined here, with 2 generic parameters: `X`, `Y` --> $DIR/incorrect-number-of-const-args.rs:6:4 | LL | fn foo<const X: usize, const Y: usize>() -> usize { | ^^^ - - -help: add missing const argument +help: add missing generic argument | LL | foo::<0, Y>(); | ^^^ -error[E0107]: this function takes 2 const arguments but 3 const arguments were supplied +error[E0107]: this function takes 2 generic arguments but 3 generic arguments were supplied --> $DIR/incorrect-number-of-const-args.rs:14:5 | LL | foo::<0, 0, 0>(); - | ^^^ --- help: remove this const argument + | ^^^ - help: remove this generic argument | | - | expected 2 const arguments + | expected 2 generic arguments | -note: function defined here, with 2 const parameters: `X`, `Y` +note: function defined here, with 2 generic parameters: `X`, `Y` --> $DIR/incorrect-number-of-const-args.rs:6:4 | LL | fn foo<const X: usize, const Y: usize>() -> usize { diff --git a/src/test/ui/const-generics/incorrect-number-of-const-args.min.stderr b/src/test/ui/const-generics/incorrect-number-of-const-args.min.stderr index dd7e63480eb..9deda56cd0d 100644 --- a/src/test/ui/const-generics/incorrect-number-of-const-args.min.stderr +++ b/src/test/ui/const-generics/incorrect-number-of-const-args.min.stderr @@ -1,30 +1,30 @@ -error[E0107]: this function takes 2 const arguments but only 1 const argument was supplied +error[E0107]: this function takes 2 generic arguments but 1 generic argument was supplied --> $DIR/incorrect-number-of-const-args.rs:11:5 | LL | foo::<0>(); - | ^^^ - supplied 1 const argument + | ^^^ - supplied 1 generic argument | | - | expected 2 const arguments + | expected 2 generic arguments | -note: function defined here, with 2 const parameters: `X`, `Y` +note: function defined here, with 2 generic parameters: `X`, `Y` --> $DIR/incorrect-number-of-const-args.rs:6:4 | LL | fn foo<const X: usize, const Y: usize>() -> usize { | ^^^ - - -help: add missing const argument +help: add missing generic argument | LL | foo::<0, Y>(); | ^^^ -error[E0107]: this function takes 2 const arguments but 3 const arguments were supplied +error[E0107]: this function takes 2 generic arguments but 3 generic arguments were supplied --> $DIR/incorrect-number-of-const-args.rs:14:5 | LL | foo::<0, 0, 0>(); - | ^^^ --- help: remove this const argument + | ^^^ - help: remove this generic argument | | - | expected 2 const arguments + | expected 2 generic arguments | -note: function defined here, with 2 const parameters: `X`, `Y` +note: function defined here, with 2 generic parameters: `X`, `Y` --> $DIR/incorrect-number-of-const-args.rs:6:4 | LL | fn foo<const X: usize, const Y: usize>() -> usize { diff --git a/src/test/ui/const-generics/incorrect-number-of-const-args.rs b/src/test/ui/const-generics/incorrect-number-of-const-args.rs index 3114e716845..305559d93fd 100644 --- a/src/test/ui/const-generics/incorrect-number-of-const-args.rs +++ b/src/test/ui/const-generics/incorrect-number-of-const-args.rs @@ -9,8 +9,8 @@ fn foo<const X: usize, const Y: usize>() -> usize { fn main() { foo::<0>(); - //~^ ERROR this function takes 2 const arguments but only 1 const argument was supplied + //~^ ERROR this function takes 2 foo::<0, 0, 0>(); - //~^ ERROR this function takes 2 const arguments but 3 const arguments were supplied + //~^ ERROR this function takes 2 } diff --git a/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs b/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs index b67a1f153ff..7d4dc98f396 100644 --- a/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs +++ b/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs @@ -4,11 +4,11 @@ struct S; fn main() { let _: u32 = 5i32.try_into::<32>().unwrap(); - //~^ ERROR this associated function takes 0 const arguments but 1 const argument was supplied + //~^ ERROR this associated function takes S.f::<0>(); //~^ ERROR no method named `f` S::<0>; - //~^ ERROR this struct takes 0 const arguments but 1 const argument was supplied + //~^ ERROR this struct takes 0 } diff --git a/src/test/ui/const-generics/invalid-const-arg-for-type-param.stderr b/src/test/ui/const-generics/invalid-const-arg-for-type-param.stderr index a75da91caa8..aa5cebd873e 100644 --- a/src/test/ui/const-generics/invalid-const-arg-for-type-param.stderr +++ b/src/test/ui/const-generics/invalid-const-arg-for-type-param.stderr @@ -1,12 +1,12 @@ -error[E0107]: this associated function takes 0 const arguments but 1 const argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/invalid-const-arg-for-type-param.rs:6:23 | LL | let _: u32 = 5i32.try_into::<32>().unwrap(); | ^^^^^^^^------ help: remove these generics | | - | expected 0 const arguments + | expected 0 generic arguments | -note: associated function defined here, with 0 const parameters +note: associated function defined here, with 0 generic parameters --> $SRC_DIR/core/src/convert/mod.rs:LL:COL | LL | fn try_into(self) -> Result<T, Self::Error>; @@ -21,15 +21,15 @@ LL | struct S; LL | S.f::<0>(); | ^ method not found in `S` -error[E0107]: this struct takes 0 const arguments but 1 const argument was supplied +error[E0107]: this struct takes 0 generic arguments but 1 generic argument was supplied --> $DIR/invalid-const-arg-for-type-param.rs:12:5 | LL | S::<0>; | ^----- help: remove these generics | | - | expected 0 const arguments + | expected 0 generic arguments | -note: struct defined here, with 0 const parameters +note: struct defined here, with 0 generic parameters --> $DIR/invalid-const-arg-for-type-param.rs:3:8 | LL | struct S; diff --git a/src/test/ui/const-generics/invalid-constant-in-args.stderr b/src/test/ui/const-generics/invalid-constant-in-args.stderr index 57c1af36d61..1400d2bf5a7 100644 --- a/src/test/ui/const-generics/invalid-constant-in-args.stderr +++ b/src/test/ui/const-generics/invalid-constant-in-args.stderr @@ -2,7 +2,7 @@ error[E0107]: this struct takes 1 generic argument but 2 generic arguments were --> $DIR/invalid-constant-in-args.rs:4:12 | LL | let _: Cell<&str, "a"> = Cell::new(""); - | ^^^^ ----- help: remove this generic argument + | ^^^^ --- help: remove this generic argument | | | expected 1 generic argument | diff --git a/src/test/ui/const-generics/issues/issue-76595.rs b/src/test/ui/const-generics/issues/issue-76595.rs index d95d675ddad..2d7051c3a24 100644 --- a/src/test/ui/const-generics/issues/issue-76595.rs +++ b/src/test/ui/const-generics/issues/issue-76595.rs @@ -13,5 +13,5 @@ fn test<T, const P: usize>() where Bool<{core::mem::size_of::<T>() > 4}>: True { fn main() { test::<2>(); - //~^ ERROR this function takes 2 generic arguments but only 1 generic argument was supplied + //~^ ERROR this function takes 2 generic arguments } diff --git a/src/test/ui/const-generics/issues/issue-76595.stderr b/src/test/ui/const-generics/issues/issue-76595.stderr index 9d95e5a014d..01a0f6bcba9 100644 --- a/src/test/ui/const-generics/issues/issue-76595.stderr +++ b/src/test/ui/const-generics/issues/issue-76595.stderr @@ -1,4 +1,4 @@ -error[E0107]: this function takes 2 generic arguments but only 1 generic argument was supplied +error[E0107]: this function takes 2 generic arguments but 1 generic argument was supplied --> $DIR/issue-76595.rs:15:5 | LL | test::<2>(); diff --git a/src/test/ui/constructor-lifetime-args.rs b/src/test/ui/constructor-lifetime-args.rs index d038269382b..a824a44c9c2 100644 --- a/src/test/ui/constructor-lifetime-args.rs +++ b/src/test/ui/constructor-lifetime-args.rs @@ -15,12 +15,12 @@ enum E<'a, 'b> { fn main() { S(&0, &0); // OK S::<'static>(&0, &0); - //~^ ERROR this struct takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this struct takes 2 lifetime arguments S::<'static, 'static, 'static>(&0, &0); - //~^ ERROR this struct takes 2 lifetime arguments but 3 lifetime arguments were supplied + //~^ ERROR this struct takes 2 lifetime arguments E::V(&0); // OK E::V::<'static>(&0); - //~^ ERROR this enum takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this enum takes 2 lifetime arguments E::V::<'static, 'static, 'static>(&0); - //~^ ERROR this enum takes 2 lifetime arguments but 3 lifetime arguments were supplied + //~^ ERROR this enum takes 2 lifetime arguments } diff --git a/src/test/ui/constructor-lifetime-args.stderr b/src/test/ui/constructor-lifetime-args.stderr index 378b07694e6..f33aa4953e4 100644 --- a/src/test/ui/constructor-lifetime-args.stderr +++ b/src/test/ui/constructor-lifetime-args.stderr @@ -1,4 +1,4 @@ -error[E0107]: this struct takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/constructor-lifetime-args.rs:17:5 | LL | S::<'static>(&0, &0); @@ -20,7 +20,7 @@ error[E0107]: this struct takes 2 lifetime arguments but 3 lifetime arguments we --> $DIR/constructor-lifetime-args.rs:19:5 | LL | S::<'static, 'static, 'static>(&0, &0); - | ^ --------- help: remove this lifetime argument + | ^ ------- help: remove this lifetime argument | | | expected 2 lifetime arguments | @@ -30,7 +30,7 @@ note: struct defined here, with 2 lifetime parameters: `'a`, `'b` LL | struct S<'a, 'b>(&'a u8, &'b u8); | ^ -- -- -error[E0107]: this enum takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this enum takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/constructor-lifetime-args.rs:22:8 | LL | E::V::<'static>(&0); @@ -52,7 +52,7 @@ error[E0107]: this enum takes 2 lifetime arguments but 3 lifetime arguments were --> $DIR/constructor-lifetime-args.rs:24:8 | LL | E::V::<'static, 'static, 'static>(&0); - | ^ --------- help: remove this lifetime argument + | ^ ------- help: remove this lifetime argument | | | expected 2 lifetime arguments | diff --git a/src/test/ui/error-codes/E0107.rs b/src/test/ui/error-codes/E0107.rs index c3dde72599b..f7f6afa860e 100644 --- a/src/test/ui/error-codes/E0107.rs +++ b/src/test/ui/error-codes/E0107.rs @@ -9,15 +9,15 @@ enum Bar { struct Baz<'a, 'b, 'c> { buzz: Buzz<'a>, - //~^ ERROR this struct takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this struct takes 2 lifetime arguments //~| HELP add missing lifetime argument bar: Bar<'a>, - //~^ ERROR this enum takes 0 lifetime arguments but 1 lifetime argument was supplied + //~^ ERROR this enum takes 0 lifetime arguments //~| HELP remove these generics foo2: Foo<'a, 'b, 'c>, - //~^ ERROR this struct takes 1 lifetime argument but 3 lifetime arguments were supplied + //~^ ERROR this struct takes 1 lifetime argument //~| HELP remove these lifetime arguments } diff --git a/src/test/ui/error-codes/E0107.stderr b/src/test/ui/error-codes/E0107.stderr index 30a2768d060..299776b08f2 100644 --- a/src/test/ui/error-codes/E0107.stderr +++ b/src/test/ui/error-codes/E0107.stderr @@ -1,4 +1,4 @@ -error[E0107]: this struct takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/E0107.rs:11:11 | LL | buzz: Buzz<'a>, @@ -13,7 +13,7 @@ LL | struct Buzz<'a, 'b>(&'a str, &'b str); | ^^^^ -- -- help: add missing lifetime argument | -LL | buzz: Buzz<'a, 'b>, +LL | buzz: Buzz<'a, 'a>, | ^^^^ error[E0107]: this enum takes 0 lifetime arguments but 1 lifetime argument was supplied @@ -34,7 +34,7 @@ error[E0107]: this struct takes 1 lifetime argument but 3 lifetime arguments wer --> $DIR/E0107.rs:19:11 | LL | foo2: Foo<'a, 'b, 'c>, - | ^^^ -------- help: remove these lifetime arguments + | ^^^ ------ help: remove these lifetime arguments | | | expected 1 lifetime argument | diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs index e69e355ba48..484790501b9 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs +++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs @@ -3,14 +3,14 @@ trait X { type Y<'a>; - //~^ ERROR missing generics for - //~| ERROR missing generics for fn foo<'a>(t : Self::Y<'a>) -> Self::Y<'a> { t } } impl<T> X for T { fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> { + //~^ ERROR missing generics for associated type + //~^^ ERROR missing generics for associated type t } } diff --git a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr index 9c6e2ce3e17..56b5551cd3f 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr +++ b/src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.stderr @@ -8,36 +8,36 @@ LL | #![feature(generic_associated_types)] = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information error[E0107]: missing generics for associated type `X::Y` - --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 + --> $DIR/gat-trait-path-missing-lifetime.rs:11:20 | -LL | type Y<'a>; - | ^ expected 1 lifetime argument +LL | fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> { + | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 | LL | type Y<'a>; | ^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type Y<'a><'a>; - | ^^^^ +LL | fn foo<'a, T1: X<Y<'a> = T1>>(t : T1) -> T1::Y<'a> { + | ^^^^^ error[E0107]: missing generics for associated type `X::Y` - --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 + --> $DIR/gat-trait-path-missing-lifetime.rs:11:20 | -LL | type Y<'a>; - | ^ expected 1 lifetime argument +LL | fn foo<'a, T1: X<Y = T1>>(t : T1) -> T1::Y<'a> { + | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/gat-trait-path-missing-lifetime.rs:5:8 | LL | type Y<'a>; | ^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type Y<'a><'a>; - | ^^^^ +LL | fn foo<'a, T1: X<Y<'a> = T1>>(t : T1) -> T1::Y<'a> { + | ^^^^^ error: aborting due to 2 previous errors; 1 warning emitted diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs index 40ed42c9ce0..f1af6860284 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs +++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.rs @@ -3,13 +3,13 @@ trait X { type Y<'a>; - //~^ ERROR this associated type - //~| ERROR this associated type } fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} //~^ ERROR: lifetime in trait object type must be followed by `+` //~| ERROR: parenthesized generic arguments cannot be used + //~| ERROR this associated type takes 0 generic arguments but 1 generic argument + //~| ERROR this associated type takes 1 lifetime argument but 0 lifetime arguments //~| WARNING: trait objects without an explicit `dyn` are deprecated //~| WARNING: this was previously accepted by the compiler diff --git a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr index 0e95c54d811..72855a74256 100644 --- a/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr +++ b/src/test/ui/generic-associated-types/gat-trait-path-parenthesised-args.stderr @@ -1,11 +1,11 @@ error: lifetime in trait object type must be followed by `+` - --> $DIR/gat-trait-path-parenthesised-args.rs:10:29 + --> $DIR/gat-trait-path-parenthesised-args.rs:8:29 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^ error: parenthesized generic arguments cannot be used in associated type constraints - --> $DIR/gat-trait-path-parenthesised-args.rs:10:27 + --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^^^^ @@ -20,7 +20,7 @@ LL | #![feature(generic_associated_types)] = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information warning: trait objects without an explicit `dyn` are deprecated - --> $DIR/gat-trait-path-parenthesised-args.rs:10:29 + --> $DIR/gat-trait-path-parenthesised-args.rs:8:29 | LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} | ^^ help: use `dyn`: `dyn 'a` @@ -30,10 +30,10 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165> error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied - --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 + --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 | -LL | type Y<'a>; - | ^ expected 1 lifetime argument +LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} + | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 @@ -42,24 +42,18 @@ LL | type Y<'a>; | ^ -- help: add missing lifetime argument | -LL | fn foo<'a>(arg: Box<dyn X<Y('a'a) = &'a ()>>) {} - | ^^ +LL | fn foo<'a>(arg: Box<dyn X<Y('a, 'a) = &'a ()>>) {} + | ^^^ -error[E0107]: this associated type takes 0 type arguments but 1 type argument was supplied - --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 +error[E0107]: this associated type takes 0 generic arguments but 1 generic argument was supplied + --> $DIR/gat-trait-path-parenthesised-args.rs:8:27 | -LL | type Y<'a>; - | ________^- - | | | - | | expected 0 type arguments -LL | | -LL | | -LL | | } -LL | | -LL | | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} - | |_________________________________________- help: remove these generics +LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {} + | ^-------------- help: remove these generics + | | + | expected 0 generic arguments | -note: associated type defined here, with 0 type parameters +note: associated type defined here, with 0 generic parameters --> $DIR/gat-trait-path-parenthesised-args.rs:5:8 | LL | type Y<'a>; diff --git a/src/test/ui/generic-associated-types/issue-71176.rs b/src/test/ui/generic-associated-types/issue-71176.rs index 470476bf476..c767bef1552 100644 --- a/src/test/ui/generic-associated-types/issue-71176.rs +++ b/src/test/ui/generic-associated-types/issue-71176.rs @@ -3,7 +3,6 @@ trait Provider { type A<'a>; - //~^ ERROR: missing generics for associated type } impl Provider for () { @@ -12,6 +11,7 @@ impl Provider for () { struct Holder<B> { inner: Box<dyn Provider<A = B>>, + //~^ ERROR: missing generics for associated type } fn main() { diff --git a/src/test/ui/generic-associated-types/issue-71176.stderr b/src/test/ui/generic-associated-types/issue-71176.stderr index dd19dd4ad8e..2df800d065f 100644 --- a/src/test/ui/generic-associated-types/issue-71176.stderr +++ b/src/test/ui/generic-associated-types/issue-71176.stderr @@ -1,18 +1,18 @@ error[E0107]: missing generics for associated type `Provider::A` - --> $DIR/issue-71176.rs:5:10 + --> $DIR/issue-71176.rs:13:27 | -LL | type A<'a>; - | ^ expected 1 lifetime argument +LL | inner: Box<dyn Provider<A = B>>, + | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/issue-71176.rs:5:10 | LL | type A<'a>; | ^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type A<'a><'a>; - | ^^^^ +LL | inner: Box<dyn Provider<A<'a> = B>>, + | ^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/issue-76535.rs b/src/test/ui/generic-associated-types/issue-76535.rs index 9643c82db77..3db3c38216a 100644 --- a/src/test/ui/generic-associated-types/issue-76535.rs +++ b/src/test/ui/generic-associated-types/issue-76535.rs @@ -5,7 +5,6 @@ pub trait SubTrait {} pub trait SuperTrait { type SubType<'a>: SubTrait; - //~^ ERROR missing generics for associated fn get_sub<'a>(&'a mut self) -> Self::SubType<'a>; } @@ -36,6 +35,7 @@ impl SuperTrait for SuperStruct { fn main() { let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); - //~^ ERROR the trait `SuperTrait` cannot be made into an object - //~^^ ERROR the trait `SuperTrait` cannot be made into an object + //~^ ERROR missing generics for associated type + //~^^ ERROR the trait + //~| ERROR the trait } diff --git a/src/test/ui/generic-associated-types/issue-76535.stderr b/src/test/ui/generic-associated-types/issue-76535.stderr index d31560f12f0..d9829e59605 100644 --- a/src/test/ui/generic-associated-types/issue-76535.stderr +++ b/src/test/ui/generic-associated-types/issue-76535.stderr @@ -8,23 +8,23 @@ LL | #![feature(generic_associated_types)] = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information error[E0107]: missing generics for associated type `SuperTrait::SubType` - --> $DIR/issue-76535.rs:7:10 + --> $DIR/issue-76535.rs:37:33 | -LL | type SubType<'a>: SubTrait; - | ^^^^^^^ expected 1 lifetime argument +LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); + | ^^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/issue-76535.rs:7:10 | LL | type SubType<'a>: SubTrait; | ^^^^^^^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type SubType<'a><'a>: SubTrait; - | ^^^^ +LL | let sub: Box<dyn SuperTrait<SubType<'a> = SubStruct>> = Box::new(SuperStruct::new(0)); + | ^^^^^^^^^^^ error[E0038]: the trait `SuperTrait` cannot be made into an object - --> $DIR/issue-76535.rs:38:14 + --> $DIR/issue-76535.rs:37:14 | LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object @@ -39,7 +39,7 @@ LL | type SubType<'a>: SubTrait; | ^^^^^^^ ...because it contains the generic associated type `SubType` error[E0038]: the trait `SuperTrait` cannot be made into an object - --> $DIR/issue-76535.rs:38:57 + --> $DIR/issue-76535.rs:37:57 | LL | let sub: Box<dyn SuperTrait<SubType = SubStruct>> = Box::new(SuperStruct::new(0)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SuperTrait` cannot be made into an object diff --git a/src/test/ui/generic-associated-types/issue-78671.rs b/src/test/ui/generic-associated-types/issue-78671.rs index 4e47d3c6655..310dd51ea0c 100644 --- a/src/test/ui/generic-associated-types/issue-78671.rs +++ b/src/test/ui/generic-associated-types/issue-78671.rs @@ -3,11 +3,11 @@ trait CollectionFamily { type Member<T>; - //~^ ERROR: missing generics for associated type } fn floatify() { Box::new(Family) as &dyn CollectionFamily<Member=usize> - //~^ the trait `CollectionFamily` cannot be made into an object + //~^ ERROR: missing generics for associated type + //~| ERROR: the trait `CollectionFamily` cannot be made into an object } struct Family; diff --git a/src/test/ui/generic-associated-types/issue-78671.stderr b/src/test/ui/generic-associated-types/issue-78671.stderr index c9febfb59af..0a231d22b62 100644 --- a/src/test/ui/generic-associated-types/issue-78671.stderr +++ b/src/test/ui/generic-associated-types/issue-78671.stderr @@ -1,21 +1,21 @@ error[E0107]: missing generics for associated type `CollectionFamily::Member` - --> $DIR/issue-78671.rs:5:10 + --> $DIR/issue-78671.rs:8:47 | -LL | type Member<T>; - | ^^^^^^ expected 1 type argument +LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> + | ^^^^^^ expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `T` +note: associated type defined here, with 1 generic parameter: `T` --> $DIR/issue-78671.rs:5:10 | LL | type Member<T>; | ^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | -LL | type Member<T><T>; - | ^^^ +LL | Box::new(Family) as &dyn CollectionFamily<Member<T>=usize> + | ^^^^^^^^^ error[E0038]: the trait `CollectionFamily` cannot be made into an object - --> $DIR/issue-78671.rs:9:25 + --> $DIR/issue-78671.rs:8:25 | LL | Box::new(Family) as &dyn CollectionFamily<Member=usize> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `CollectionFamily` cannot be made into an object diff --git a/src/test/ui/generic-associated-types/issue-79422.rs b/src/test/ui/generic-associated-types/issue-79422.rs index b2ba3c24abb..216e426ada2 100644 --- a/src/test/ui/generic-associated-types/issue-79422.rs +++ b/src/test/ui/generic-associated-types/issue-79422.rs @@ -19,7 +19,6 @@ impl<'a, T> RefCont<'a, T> for Box<T> { trait MapLike<K, V> { type VRefCont<'a>: RefCont<'a, V>; - //~^ ERROR missing generics fn get<'a>(&'a self, key: &K) -> Option<Self::VRefCont<'a>>; } @@ -42,6 +41,7 @@ impl<K, V: Default> MapLike<K, V> for Source { fn main() { let m = Box::new(std::collections::BTreeMap::<u8, u8>::new()) as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; - //~^^ the trait `MapLike` cannot be made into an object - //~^^ the trait `MapLike` cannot be made into an object + //~^ ERROR missing generics for associated type + //~^^ ERROR the trait + //~^^^^ ERROR the trait } diff --git a/src/test/ui/generic-associated-types/issue-79422.stderr b/src/test/ui/generic-associated-types/issue-79422.stderr index 4973ae19729..11b4a519d51 100644 --- a/src/test/ui/generic-associated-types/issue-79422.stderr +++ b/src/test/ui/generic-associated-types/issue-79422.stderr @@ -1,21 +1,21 @@ error[E0107]: missing generics for associated type `MapLike::VRefCont` - --> $DIR/issue-79422.rs:21:10 + --> $DIR/issue-79422.rs:43:36 | -LL | type VRefCont<'a>: RefCont<'a, V>; - | ^^^^^^^^ expected 1 lifetime argument +LL | as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; + | ^^^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/issue-79422.rs:21:10 | LL | type VRefCont<'a>: RefCont<'a, V>; | ^^^^^^^^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type VRefCont<'a><'a>: RefCont<'a, V>; - | ^^^^ +LL | as Box<dyn MapLike<u8, u8, VRefCont<'a> = dyn RefCont<'_, u8>>>; + | ^^^^^^^^^^^^ error[E0038]: the trait `MapLike` cannot be made into an object - --> $DIR/issue-79422.rs:44:12 + --> $DIR/issue-79422.rs:43:12 | LL | as Box<dyn MapLike<u8, u8, VRefCont = dyn RefCont<'_, u8>>>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object @@ -30,7 +30,7 @@ LL | type VRefCont<'a>: RefCont<'a, V>; | ^^^^^^^^ ...because it contains the generic associated type `VRefCont` error[E0038]: the trait `MapLike` cannot be made into an object - --> $DIR/issue-79422.rs:43:13 + --> $DIR/issue-79422.rs:42:13 | LL | let m = Box::new(std::collections::BTreeMap::<u8, u8>::new()) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MapLike` cannot be made into an object diff --git a/src/test/ui/generic-associated-types/issue-79636-1.rs b/src/test/ui/generic-associated-types/issue-79636-1.rs index 17f9387e292..412a9f8257c 100644 --- a/src/test/ui/generic-associated-types/issue-79636-1.rs +++ b/src/test/ui/generic-associated-types/issue-79636-1.rs @@ -4,7 +4,6 @@ trait Monad { type Unwrapped; type Wrapped<B>; - //~^ ERROR: missing generics for associated type `Monad::Wrapped` fn bind<B, F>(self, f: F) -> Self::Wrapped<B> { todo!() @@ -15,6 +14,7 @@ fn join<MOuter, MInner, A>(outer: MOuter) -> MOuter::Wrapped<A> where MOuter: Monad<Unwrapped = MInner>, MInner: Monad<Unwrapped = A, Wrapped = MOuter::Wrapped<A>>, + //~^ ERROR: missing generics for associated type `Monad::Wrapped` { outer.bind(|inner| inner) } diff --git a/src/test/ui/generic-associated-types/issue-79636-1.stderr b/src/test/ui/generic-associated-types/issue-79636-1.stderr index 58eeb43f70d..b7a0ef0a6d6 100644 --- a/src/test/ui/generic-associated-types/issue-79636-1.stderr +++ b/src/test/ui/generic-associated-types/issue-79636-1.stderr @@ -1,18 +1,18 @@ error[E0107]: missing generics for associated type `Monad::Wrapped` - --> $DIR/issue-79636-1.rs:6:10 + --> $DIR/issue-79636-1.rs:16:34 | -LL | type Wrapped<B>; - | ^^^^^^^ expected 1 type argument +LL | MInner: Monad<Unwrapped = A, Wrapped = MOuter::Wrapped<A>>, + | ^^^^^^^ expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `B` +note: associated type defined here, with 1 generic parameter: `B` --> $DIR/issue-79636-1.rs:6:10 | LL | type Wrapped<B>; | ^^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | -LL | type Wrapped<B><B>; - | ^^^ +LL | MInner: Monad<Unwrapped = A, Wrapped<B> = MOuter::Wrapped<A>>, + | ^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/issue-79636-2.rs b/src/test/ui/generic-associated-types/issue-79636-2.rs index 5a654219375..ef39378e78d 100644 --- a/src/test/ui/generic-associated-types/issue-79636-2.rs +++ b/src/test/ui/generic-associated-types/issue-79636-2.rs @@ -3,7 +3,6 @@ trait SomeTrait { type Wrapped<A>: SomeTrait; - //~^ ERROR: missing generics for associated type `SomeTrait::Wrapped` fn f() -> (); } @@ -11,6 +10,7 @@ trait SomeTrait { fn program<W>() -> () where W: SomeTrait<Wrapped = W>, + //~^ ERROR: missing generics for associated type `SomeTrait::Wrapped` { return W::f(); } diff --git a/src/test/ui/generic-associated-types/issue-79636-2.stderr b/src/test/ui/generic-associated-types/issue-79636-2.stderr index d5e3c56ebb9..d5ba1aaeed5 100644 --- a/src/test/ui/generic-associated-types/issue-79636-2.stderr +++ b/src/test/ui/generic-associated-types/issue-79636-2.stderr @@ -1,18 +1,18 @@ error[E0107]: missing generics for associated type `SomeTrait::Wrapped` - --> $DIR/issue-79636-2.rs:5:10 + --> $DIR/issue-79636-2.rs:12:18 | -LL | type Wrapped<A>: SomeTrait; - | ^^^^^^^ expected 1 type argument +LL | W: SomeTrait<Wrapped = W>, + | ^^^^^^^ expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `A` +note: associated type defined here, with 1 generic parameter: `A` --> $DIR/issue-79636-2.rs:5:10 | LL | type Wrapped<A>: SomeTrait; | ^^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | -LL | type Wrapped<A><A>: SomeTrait; - | ^^^ +LL | W: SomeTrait<Wrapped<A> = W>, + | ^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/issue-80433.rs b/src/test/ui/generic-associated-types/issue-80433.rs index ea65f05de23..fd81804f234 100644 --- a/src/test/ui/generic-associated-types/issue-80433.rs +++ b/src/test/ui/generic-associated-types/issue-80433.rs @@ -8,7 +8,6 @@ struct E<T> { trait TestMut { type Output<'a>; - //~^ ERROR missing generics fn test_mut<'a>(&'a mut self) -> Self::Output<'a>; } @@ -23,6 +22,7 @@ where } fn test_simpler<'a>(dst: &'a mut impl TestMut<Output = &'a mut f32>) + //~^ ERROR missing generics for associated type { for n in 0i16..100 { *dst.test_mut() = n.into(); diff --git a/src/test/ui/generic-associated-types/issue-80433.stderr b/src/test/ui/generic-associated-types/issue-80433.stderr index 5398920fafd..31483ff0cd6 100644 --- a/src/test/ui/generic-associated-types/issue-80433.stderr +++ b/src/test/ui/generic-associated-types/issue-80433.stderr @@ -1,18 +1,18 @@ error[E0107]: missing generics for associated type `TestMut::Output` - --> $DIR/issue-80433.rs:10:10 + --> $DIR/issue-80433.rs:24:47 | -LL | type Output<'a>; - | ^^^^^^ expected 1 lifetime argument +LL | fn test_simpler<'a>(dst: &'a mut impl TestMut<Output = &'a mut f32>) + | ^^^^^^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/issue-80433.rs:10:10 | LL | type Output<'a>; | ^^^^^^ -- -help: use angle brackets to add missing lifetime argument +help: add missing lifetime argument | -LL | type Output<'a><'a>; - | ^^^^ +LL | fn test_simpler<'a>(dst: &'a mut impl TestMut<Output<'a> = &'a mut f32>) + | ^^^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs index 934870afc11..b5512ee6d62 100644 --- a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs +++ b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.rs @@ -12,10 +12,10 @@ trait B { } trait C { type DType<T>: D<T, CType = Self>; - //~^ ERROR: missing generics for associated type `C::DType` [E0107] } trait D<T> { type CType: C<DType = Self>; + //~^ ERROR missing generics for associated type } fn main() {} diff --git a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr index 75f68cd3148..4a7b96db30a 100644 --- a/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr +++ b/src/test/ui/generic-associated-types/issue-81712-cyclic-traits.stderr @@ -1,18 +1,18 @@ error[E0107]: missing generics for associated type `C::DType` - --> $DIR/issue-81712-cyclic-traits.rs:14:10 + --> $DIR/issue-81712-cyclic-traits.rs:17:19 | -LL | type DType<T>: D<T, CType = Self>; - | ^^^^^ expected 1 type argument +LL | type CType: C<DType = Self>; + | ^^^^^ expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `T` +note: associated type defined here, with 1 generic parameter: `T` --> $DIR/issue-81712-cyclic-traits.rs:14:10 | LL | type DType<T>: D<T, CType = Self>; | ^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | -LL | type DType<T><T>: D<T, CType = Self>; - | ^^^ +LL | type CType: C<DType<T> = Self>; + | ^^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generic-associated-types/issue-81862.rs b/src/test/ui/generic-associated-types/issue-81862.rs new file mode 100644 index 00000000000..02f843b07e2 --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-81862.rs @@ -0,0 +1,13 @@ +#![allow(incomplete_features)] +#![feature(generic_associated_types)] + +trait StreamingIterator { + type Item<'a>; + fn next(&mut self) -> Option<Self::Item>; + //~^ ERROR missing generics for associated type +} + +fn main() {} + +// call stack from back to front: +// create_substs_for_assoc_ty -> qpath_to_ty -> res_to_ty -> ast_ty_to_ty -> ty_of_fn diff --git a/src/test/ui/generic-associated-types/issue-81862.stderr b/src/test/ui/generic-associated-types/issue-81862.stderr new file mode 100644 index 00000000000..d7b904165c0 --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-81862.stderr @@ -0,0 +1,19 @@ +error[E0107]: missing generics for associated type `StreamingIterator::Item` + --> $DIR/issue-81862.rs:6:40 + | +LL | fn next(&mut self) -> Option<Self::Item>; + | ^^^^ expected 1 lifetime argument + | +note: associated type defined here, with 1 lifetime parameter: `'a` + --> $DIR/issue-81862.rs:5:10 + | +LL | type Item<'a>; + | ^^^^ -- +help: add missing lifetime argument + | +LL | fn next(&mut self) -> Option<Self::Item<'_>>; + | ^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/missing_lifetime_args.rs b/src/test/ui/generic-associated-types/missing_lifetime_args.rs new file mode 100644 index 00000000000..de24361dfde --- /dev/null +++ b/src/test/ui/generic-associated-types/missing_lifetime_args.rs @@ -0,0 +1,23 @@ +#![feature(generic_associated_types)] +//~^ WARNING the feature `generic_associated_types` + +trait X { + type Y<'a, 'b>; +} + +struct Foo<'a, 'b, 'c> { + a: &'a u32, + b: &'b str, + c: &'c str, +} + +fn foo<'c, 'd>(_arg: Box<dyn X<Y = (&'c u32, &'d u32)>>) {} +//~^ ERROR missing generics for associated type + +fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b>) {} +//~^ ERROR this struct takes 3 lifetime arguments but 2 lifetime + +fn f<'a>(_arg: Foo<'a>) {} +//~^ ERROR this struct takes 3 lifetime arguments but 1 lifetime + +fn main() {} diff --git a/src/test/ui/generic-associated-types/missing_lifetime_args.stderr b/src/test/ui/generic-associated-types/missing_lifetime_args.stderr new file mode 100644 index 00000000000..73829594c82 --- /dev/null +++ b/src/test/ui/generic-associated-types/missing_lifetime_args.stderr @@ -0,0 +1,64 @@ +warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes + --> $DIR/missing_lifetime_args.rs:1:12 + | +LL | #![feature(generic_associated_types)] + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information + +error[E0107]: missing generics for associated type `X::Y` + --> $DIR/missing_lifetime_args.rs:14:32 + | +LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y = (&'c u32, &'d u32)>>) {} + | ^ expected 2 lifetime arguments + | +note: associated type defined here, with 2 lifetime parameters: `'a`, `'b` + --> $DIR/missing_lifetime_args.rs:5:10 + | +LL | type Y<'a, 'b>; + | ^ -- -- +help: add missing lifetime arguments + | +LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y<'c, 'd> = (&'c u32, &'d u32)>>) {} + | ^^^^^^^^^ + +error[E0107]: this struct takes 3 lifetime arguments but 2 lifetime arguments were supplied + --> $DIR/missing_lifetime_args.rs:17:26 + | +LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b>) {} + | ^^^ -- -- supplied 2 lifetime arguments + | | + | expected 3 lifetime arguments + | +note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c` + --> $DIR/missing_lifetime_args.rs:8:8 + | +LL | struct Foo<'a, 'b, 'c> { + | ^^^ -- -- -- +help: add missing lifetime argument + | +LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b, 'a>) {} + | ^^^^ + +error[E0107]: this struct takes 3 lifetime arguments but 1 lifetime argument was supplied + --> $DIR/missing_lifetime_args.rs:20:16 + | +LL | fn f<'a>(_arg: Foo<'a>) {} + | ^^^ -- supplied 1 lifetime argument + | | + | expected 3 lifetime arguments + | +note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c` + --> $DIR/missing_lifetime_args.rs:8:8 + | +LL | struct Foo<'a, 'b, 'c> { + | ^^^ -- -- -- +help: add missing lifetime arguments + | +LL | fn f<'a>(_arg: Foo<'a, 'b, 'c>) {} + | ^^^^^^^^ + +error: aborting due to 3 previous errors; 1 warning emitted + +For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/missing_lifetime_const.rs b/src/test/ui/generic-associated-types/missing_lifetime_const.rs new file mode 100644 index 00000000000..37cb7cab121 --- /dev/null +++ b/src/test/ui/generic-associated-types/missing_lifetime_const.rs @@ -0,0 +1,13 @@ +#![feature(generic_associated_types)] +//~^ WARNING the feature + +trait Foo { + type Assoc<'a, const N: usize>; +} + +fn foo<T: Foo>() { + let _: <T as Foo>::Assoc<3>; + //~^ ERROR this associated type +} + +fn main() {} diff --git a/src/test/ui/generic-associated-types/missing_lifetime_const.stderr b/src/test/ui/generic-associated-types/missing_lifetime_const.stderr new file mode 100644 index 00000000000..6c66312e7b1 --- /dev/null +++ b/src/test/ui/generic-associated-types/missing_lifetime_const.stderr @@ -0,0 +1,28 @@ +warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes + --> $DIR/missing_lifetime_const.rs:1:12 + | +LL | #![feature(generic_associated_types)] + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information + +error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied + --> $DIR/missing_lifetime_const.rs:9:24 + | +LL | let _: <T as Foo>::Assoc<3>; + | ^^^^^ expected 1 lifetime argument + | +note: associated type defined here, with 1 lifetime parameter: `'a` + --> $DIR/missing_lifetime_const.rs:5:10 + | +LL | type Assoc<'a, const N: usize>; + | ^^^^^ -- +help: add missing lifetime argument + | +LL | let _: <T as Foo>::Assoc<'a, 3>; + | ^^^ + +error: aborting due to previous error; 1 warning emitted + +For more information about this error, try `rustc --explain E0107`. diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind.rs b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs index 9d7ef88b767..3f92c031e18 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind.rs +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs @@ -12,9 +12,9 @@ trait Foo { type FOk<T> = Self::E<'static, T>; type FErr1 = Self::E<'static, 'static>; //~^ ERROR this associated type takes 1 lifetime argument but 2 lifetime arguments were supplied - //~| ERROR this associated type takes 1 type argument but 0 type arguments were supplied + //~| ERROR this associated type takes 1 type FErr2<T> = Self::E<'static, T, u32>; - //~^ ERROR this associated type takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this associated type takes 1 } fn main() {} diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr b/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr index d021889c084..b6f600964c9 100644 --- a/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr +++ b/src/test/ui/generic-associated-types/parameter_number_and_kind.stderr @@ -2,7 +2,7 @@ error[E0107]: this associated type takes 1 lifetime argument but 2 lifetime argu --> $DIR/parameter_number_and_kind.rs:13:24 | LL | type FErr1 = Self::E<'static, 'static>; - | ^ --------- help: remove this lifetime argument + | ^ ------- help: remove this lifetime argument | | | expected 1 lifetime argument | @@ -12,31 +12,31 @@ note: associated type defined here, with 1 lifetime parameter: `'a` LL | type E<'a, T>; | ^ -- -error[E0107]: this associated type takes 1 type argument but 0 type arguments were supplied +error[E0107]: this associated type takes 1 generic argument but 0 generic arguments were supplied --> $DIR/parameter_number_and_kind.rs:13:24 | LL | type FErr1 = Self::E<'static, 'static>; - | ^ expected 1 type argument + | ^ expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `T` +note: associated type defined here, with 1 generic parameter: `T` --> $DIR/parameter_number_and_kind.rs:10:10 | LL | type E<'a, T>; | ^ - -help: add missing type argument +help: add missing generic argument | LL | type FErr1 = Self::E<'static, 'static, T>; | ^^^ -error[E0107]: this associated type takes 1 type argument but 2 type arguments were supplied +error[E0107]: this associated type takes 1 generic argument but 2 generic arguments were supplied --> $DIR/parameter_number_and_kind.rs:16:27 | LL | type FErr2<T> = Self::E<'static, T, u32>; - | ^ ----- help: remove this type argument + | ^ --- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: associated type defined here, with 1 type parameter: `T` +note: associated type defined here, with 1 generic parameter: `T` --> $DIR/parameter_number_and_kind.rs:10:10 | LL | type E<'a, T>; diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs index 2d38770bcdf..d7a0ef4916a 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs +++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.rs @@ -3,12 +3,12 @@ trait X { type Y<'a>; - //~^ ERROR this associated type - //~| ERROR this associated type } const _: () = { fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} + //~^ ERROR this associated type takes 1 lifetime argument but 0 lifetime arguments + //~| ERROR this associated type takes 0 generic arguments but 1 generic argument }; fn main() {} diff --git a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr index 60b8fb9bcaa..5685e5208c6 100644 --- a/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr +++ b/src/test/ui/generic-associated-types/parse/trait-path-type-error-once-implemented.stderr @@ -8,10 +8,10 @@ LL | #![feature(generic_associated_types)] = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied - --> $DIR/trait-path-type-error-once-implemented.rs:5:10 + --> $DIR/trait-path-type-error-once-implemented.rs:9:29 | -LL | type Y<'a>; - | ^ expected 1 lifetime argument +LL | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} + | ^ expected 1 lifetime argument | note: associated type defined here, with 1 lifetime parameter: `'a` --> $DIR/trait-path-type-error-once-implemented.rs:5:10 @@ -20,25 +20,18 @@ LL | type Y<'a>; | ^ -- help: add missing lifetime argument | -LL | fn f2<'a>(arg : Box<dyn X<Y<'a1> = &'a ()>>) {} - | ^^ +LL | fn f2<'a>(arg : Box<dyn X<Y<'a, 1> = &'a ()>>) {} + | ^^^ -error[E0107]: this associated type takes 0 const arguments but 1 const argument was supplied - --> $DIR/trait-path-type-error-once-implemented.rs:5:10 +error[E0107]: this associated type takes 0 generic arguments but 1 generic argument was supplied + --> $DIR/trait-path-type-error-once-implemented.rs:9:29 + | +LL | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} + | ^--- help: remove these generics + | | + | expected 0 generic arguments | -LL | type Y<'a>; - | __________^- - | | | - | | expected 0 const arguments -LL | | -LL | | -LL | | } -LL | | -LL | | const _: () = { -LL | | fn f2<'a>(arg : Box<dyn X<Y<1> = &'a ()>>) {} - | |________________________________- help: remove these generics - | -note: associated type defined here, with 0 const parameters +note: associated type defined here, with 0 generic parameters --> $DIR/trait-path-type-error-once-implemented.rs:5:10 | LL | type Y<'a>; diff --git a/src/test/ui/generics/bad-mid-path-type-params.rs b/src/test/ui/generics/bad-mid-path-type-params.rs index c42ce602e99..23a5d1525d9 100644 --- a/src/test/ui/generics/bad-mid-path-type-params.rs +++ b/src/test/ui/generics/bad-mid-path-type-params.rs @@ -28,17 +28,17 @@ impl Trait<isize> for S2 { fn foo<'a>() { let _ = S::new::<isize,f64>(1, 1.0); - //~^ ERROR this associated function takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this associated function takes 1 let _ = S::<'a,isize>::new::<f64>(1, 1.0); //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied let _: S2 = Trait::new::<isize,f64>(1, 1.0); - //~^ ERROR this associated function takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this associated function takes 1 let _: S2 = Trait::<'a,isize>::new::<f64,f64>(1, 1.0); //~^ ERROR this trait takes 0 lifetime arguments but 1 lifetime argument was supplied - //~| ERROR this associated function takes 1 type argument but 2 type arguments were supplied + //~| ERROR this associated function takes 1 } fn main() {} diff --git a/src/test/ui/generics/bad-mid-path-type-params.stderr b/src/test/ui/generics/bad-mid-path-type-params.stderr index dd96856e563..aee2b60159f 100644 --- a/src/test/ui/generics/bad-mid-path-type-params.stderr +++ b/src/test/ui/generics/bad-mid-path-type-params.stderr @@ -1,12 +1,12 @@ -error[E0107]: this associated function takes 1 type argument but 2 type arguments were supplied +error[E0107]: this associated function takes 1 generic argument but 2 generic arguments were supplied --> $DIR/bad-mid-path-type-params.rs:30:16 | LL | let _ = S::new::<isize,f64>(1, 1.0); - | ^^^ ---- help: remove this type argument + | ^^^ --- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: associated function defined here, with 1 type parameter: `U` +note: associated function defined here, with 1 generic parameter: `U` --> $DIR/bad-mid-path-type-params.rs:6:8 | LL | fn new<U>(x: T, _: U) -> S<T> { @@ -16,7 +16,7 @@ error[E0107]: this struct takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/bad-mid-path-type-params.rs:33:13 | LL | let _ = S::<'a,isize>::new::<f64>(1, 1.0); - | ^ --- help: remove this lifetime argument + | ^ -- help: remove this lifetime argument | | | expected 0 lifetime arguments | @@ -26,15 +26,15 @@ note: struct defined here, with 0 lifetime parameters LL | struct S<T> { | ^ -error[E0107]: this associated function takes 1 type argument but 2 type arguments were supplied +error[E0107]: this associated function takes 1 generic argument but 2 generic arguments were supplied --> $DIR/bad-mid-path-type-params.rs:36:24 | LL | let _: S2 = Trait::new::<isize,f64>(1, 1.0); - | ^^^ ---- help: remove this type argument + | ^^^ --- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: associated function defined here, with 1 type parameter: `U` +note: associated function defined here, with 1 generic parameter: `U` --> $DIR/bad-mid-path-type-params.rs:14:8 | LL | fn new<U>(x: T, y: U) -> Self; @@ -44,7 +44,7 @@ error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/bad-mid-path-type-params.rs:39:17 | LL | let _: S2 = Trait::<'a,isize>::new::<f64,f64>(1, 1.0); - | ^^^^^ --- help: remove this lifetime argument + | ^^^^^ -- help: remove this lifetime argument | | | expected 0 lifetime arguments | @@ -54,15 +54,15 @@ note: trait defined here, with 0 lifetime parameters LL | trait Trait<T> { | ^^^^^ -error[E0107]: this associated function takes 1 type argument but 2 type arguments were supplied +error[E0107]: this associated function takes 1 generic argument but 2 generic arguments were supplied --> $DIR/bad-mid-path-type-params.rs:39:36 | LL | let _: S2 = Trait::<'a,isize>::new::<f64,f64>(1, 1.0); - | ^^^ ---- help: remove this type argument + | ^^^ --- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: associated function defined here, with 1 type parameter: `U` +note: associated function defined here, with 1 generic parameter: `U` --> $DIR/bad-mid-path-type-params.rs:14:8 | LL | fn new<U>(x: T, y: U) -> Self; diff --git a/src/test/ui/generics/generic-arg-mismatch-recover.rs b/src/test/ui/generics/generic-arg-mismatch-recover.rs index 0e0d1daec5f..2cf7f1d657b 100644 --- a/src/test/ui/generics/generic-arg-mismatch-recover.rs +++ b/src/test/ui/generics/generic-arg-mismatch-recover.rs @@ -8,5 +8,5 @@ fn main() { Bar::<'static, 'static, ()>(&()); //~^ ERROR this struct takes 1 lifetime argument but 2 lifetime arguments were supplied - //~| ERROR this struct takes 0 type arguments but 1 type argument was supplied + //~| ERROR this struct takes 0 } diff --git a/src/test/ui/generics/generic-arg-mismatch-recover.stderr b/src/test/ui/generics/generic-arg-mismatch-recover.stderr index ca73b82737d..45fea925f27 100644 --- a/src/test/ui/generics/generic-arg-mismatch-recover.stderr +++ b/src/test/ui/generics/generic-arg-mismatch-recover.stderr @@ -2,7 +2,7 @@ error[E0107]: this struct takes 1 lifetime argument but 2 lifetime arguments wer --> $DIR/generic-arg-mismatch-recover.rs:6:5 | LL | Foo::<'static, 'static, ()>(&0); - | ^^^ --------- help: remove this lifetime argument + | ^^^ ------- help: remove this lifetime argument | | | expected 1 lifetime argument | @@ -16,7 +16,7 @@ error[E0107]: this struct takes 1 lifetime argument but 2 lifetime arguments wer --> $DIR/generic-arg-mismatch-recover.rs:9:5 | LL | Bar::<'static, 'static, ()>(&()); - | ^^^ --------- help: remove this lifetime argument + | ^^^ ------- help: remove this lifetime argument | | | expected 1 lifetime argument | @@ -26,15 +26,15 @@ note: struct defined here, with 1 lifetime parameter: `'a` LL | struct Bar<'a>(&'a ()); | ^^^ -- -error[E0107]: this struct takes 0 type arguments but 1 type argument was supplied +error[E0107]: this struct takes 0 generic arguments but 1 generic argument was supplied --> $DIR/generic-arg-mismatch-recover.rs:9:5 | LL | Bar::<'static, 'static, ()>(&()); - | ^^^ ---- help: remove this type argument + | ^^^ -- help: remove this generic argument | | - | expected 0 type arguments + | expected 0 generic arguments | -note: struct defined here, with 0 type parameters +note: struct defined here, with 0 generic parameters --> $DIR/generic-arg-mismatch-recover.rs:3:8 | LL | struct Bar<'a>(&'a ()); diff --git a/src/test/ui/generics/generic-impl-less-params-with-defaults.rs b/src/test/ui/generics/generic-impl-less-params-with-defaults.rs index 01964f652ee..66afbb58ad4 100644 --- a/src/test/ui/generics/generic-impl-less-params-with-defaults.rs +++ b/src/test/ui/generics/generic-impl-less-params-with-defaults.rs @@ -9,5 +9,5 @@ impl<A, B, C> Foo<A, B, C> { fn main() { Foo::<isize>::new(); - //~^ ERROR this struct takes at least 2 type arguments but only 1 type argument was supplied + //~^ ERROR this struct takes at least 2 generic arguments but 1 generic argument } diff --git a/src/test/ui/generics/generic-impl-less-params-with-defaults.stderr b/src/test/ui/generics/generic-impl-less-params-with-defaults.stderr index a8a17876ee0..2c7ffde7ddb 100644 --- a/src/test/ui/generics/generic-impl-less-params-with-defaults.stderr +++ b/src/test/ui/generics/generic-impl-less-params-with-defaults.stderr @@ -1,17 +1,17 @@ -error[E0107]: this struct takes at least 2 type arguments but only 1 type argument was supplied +error[E0107]: this struct takes at least 2 generic arguments but 1 generic argument was supplied --> $DIR/generic-impl-less-params-with-defaults.rs:11:5 | LL | Foo::<isize>::new(); - | ^^^ ----- supplied 1 type argument + | ^^^ ----- supplied 1 generic argument | | - | expected at least 2 type arguments + | expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `A`, `B` +note: struct defined here, with at least 2 generic parameters: `A`, `B` --> $DIR/generic-impl-less-params-with-defaults.rs:3:8 | LL | struct Foo<A, B, C = (A, B)>( | ^^^ - - -help: add missing type argument +help: add missing generic argument | LL | Foo::<isize, B>::new(); | ^^^ diff --git a/src/test/ui/generics/generic-impl-more-params-with-defaults.rs b/src/test/ui/generics/generic-impl-more-params-with-defaults.rs index 24c41a9088b..a283323742a 100644 --- a/src/test/ui/generics/generic-impl-more-params-with-defaults.rs +++ b/src/test/ui/generics/generic-impl-more-params-with-defaults.rs @@ -11,5 +11,5 @@ impl<T, A> Vec<T, A> { fn main() { Vec::<isize, Heap, bool>::new(); - //~^ ERROR this struct takes at most 2 type arguments but 3 type arguments were supplied + //~^ ERROR this struct takes at most 2 generic arguments but 3 generic arguments were supplied } diff --git a/src/test/ui/generics/generic-impl-more-params-with-defaults.stderr b/src/test/ui/generics/generic-impl-more-params-with-defaults.stderr index 8ba86afe91e..059289533da 100644 --- a/src/test/ui/generics/generic-impl-more-params-with-defaults.stderr +++ b/src/test/ui/generics/generic-impl-more-params-with-defaults.stderr @@ -1,12 +1,12 @@ -error[E0107]: this struct takes at most 2 type arguments but 3 type arguments were supplied +error[E0107]: this struct takes at most 2 generic arguments but 3 generic arguments were supplied --> $DIR/generic-impl-more-params-with-defaults.rs:13:5 | LL | Vec::<isize, Heap, bool>::new(); - | ^^^ ------ help: remove this type argument + | ^^^ ---- help: remove this generic argument | | - | expected at most 2 type arguments + | expected at most 2 generic arguments | -note: struct defined here, with at most 2 type parameters: `T`, `A` +note: struct defined here, with at most 2 generic parameters: `T`, `A` --> $DIR/generic-impl-more-params-with-defaults.rs:5:8 | LL | struct Vec<T, A = Heap>( diff --git a/src/test/ui/generics/generic-type-less-params-with-defaults.stderr b/src/test/ui/generics/generic-type-less-params-with-defaults.stderr index 93f7a24d877..7c0836375e3 100644 --- a/src/test/ui/generics/generic-type-less-params-with-defaults.stderr +++ b/src/test/ui/generics/generic-type-less-params-with-defaults.stderr @@ -2,17 +2,17 @@ error[E0107]: missing generics for struct `Vec` --> $DIR/generic-type-less-params-with-defaults.rs:9:12 | LL | let _: Vec; - | ^^^ expected at least 1 type argument + | ^^^ expected at least 1 generic argument | -note: struct defined here, with at least 1 type parameter: `T` +note: struct defined here, with at least 1 generic parameter: `T` --> $DIR/generic-type-less-params-with-defaults.rs:5:8 | LL | struct Vec<T, A = Heap>( | ^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | let _: Vec<T>; - | ^^^ + | ^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/generics/generic-type-more-params-with-defaults.rs b/src/test/ui/generics/generic-type-more-params-with-defaults.rs index c421774ebba..3dab03297c9 100644 --- a/src/test/ui/generics/generic-type-more-params-with-defaults.rs +++ b/src/test/ui/generics/generic-type-more-params-with-defaults.rs @@ -7,5 +7,5 @@ struct Vec<T, A = Heap>( fn main() { let _: Vec<isize, Heap, bool>; - //~^ ERROR this struct takes at most 2 type arguments but 3 type arguments were supplied + //~^ ERROR this struct takes at most 2 generic arguments but 3 generic arguments } diff --git a/src/test/ui/generics/generic-type-more-params-with-defaults.stderr b/src/test/ui/generics/generic-type-more-params-with-defaults.stderr index e331481390b..500880cfb86 100644 --- a/src/test/ui/generics/generic-type-more-params-with-defaults.stderr +++ b/src/test/ui/generics/generic-type-more-params-with-defaults.stderr @@ -1,12 +1,12 @@ -error[E0107]: this struct takes at most 2 type arguments but 3 type arguments were supplied +error[E0107]: this struct takes at most 2 generic arguments but 3 generic arguments were supplied --> $DIR/generic-type-more-params-with-defaults.rs:9:12 | LL | let _: Vec<isize, Heap, bool>; - | ^^^ ------ help: remove this type argument + | ^^^ ---- help: remove this generic argument | | - | expected at most 2 type arguments + | expected at most 2 generic arguments | -note: struct defined here, with at most 2 type parameters: `T`, `A` +note: struct defined here, with at most 2 generic parameters: `T`, `A` --> $DIR/generic-type-more-params-with-defaults.rs:5:8 | LL | struct Vec<T, A = Heap>( diff --git a/src/test/ui/generics/wrong-number-of-args.rs b/src/test/ui/generics/wrong-number-of-args.rs index 2994ca3c759..f061c581459 100644 --- a/src/test/ui/generics/wrong-number-of-args.rs +++ b/src/test/ui/generics/wrong-number-of-args.rs @@ -4,18 +4,18 @@ mod no_generics { type A = Ty; type B = Ty<'static>; - //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied + //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument //~| HELP remove these generics type C = Ty<'static, usize>; - //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied - //~| ERROR this struct takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument + //~| ERROR this struct takes 0 generic arguments but 1 generic argument //~| HELP remove this lifetime argument - //~| HELP remove this type argument + //~| HELP remove this generic argument type D = Ty<'static, usize, { 0 }>; - //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied - //~| ERROR this struct takes 0 generic arguments but 2 generic arguments were supplied + //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument + //~| ERROR this struct takes 0 generic arguments but 2 generic arguments //~| HELP remove this lifetime argument //~| HELP remove these generic arguments } @@ -25,31 +25,31 @@ mod type_and_type { type A = Ty; //~^ ERROR missing generics for struct `type_and_type::Ty` - //~| HELP use angle brackets + //~| HELP add missing type B = Ty<usize>; - //~^ ERROR this struct takes 2 type arguments but only 1 type argument was supplied - //~| HELP add missing type argument + //~^ ERROR this struct takes 2 generic arguments but 1 generic argument + //~| HELP add missing type C = Ty<usize, String>; type D = Ty<usize, String, char>; - //~^ ERROR this struct takes 2 type arguments but 3 type arguments were supplied - //~| HELP remove this type argument + //~^ ERROR this struct takes 2 generic arguments but 3 generic arguments + //~| HELP remove this } mod lifetime_and_type { struct Ty<'a, T>; type A = Ty; - //~^ ERROR missing generics for struct `lifetime_and_type::Ty` + //~^ ERROR missing generics for struct //~| ERROR missing lifetime specifier + //~| HELP add missing //~| HELP consider introducing - //~| HELP use angle brackets type B = Ty<'static>; - //~^ ERROR this struct takes 1 type argument but 0 type arguments were supplied - //~| HELP add missing type argument + //~^ ERROR this struct takes 1 generic argument but 0 generic arguments + //~| HELP add missing type C = Ty<usize>; //~^ ERROR missing lifetime specifier @@ -63,18 +63,18 @@ mod type_and_type_and_type { type A = Ty; //~^ ERROR missing generics for struct `type_and_type_and_type::Ty` - //~| HELP use angle brackets + //~| HELP add missing type B = Ty<usize>; - //~^ ERROR this struct takes at least 2 type arguments but only 1 type argument was supplied - //~| HELP add missing type argument + //~^ ERROR this struct takes at least 2 + //~| HELP add missing type C = Ty<usize, String>; type D = Ty<usize, String, char>; type E = Ty<usize, String, char, f64>; - //~^ ERROR this struct takes at most 3 type arguments but 4 type arguments were supplied + //~^ ERROR this struct takes at most 3 //~| HELP remove } @@ -94,7 +94,7 @@ mod r#trait { } type A = Box<dyn NonGeneric<usize>>; - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument //~| HELP remove type B = Box<dyn GenericLifetime>; @@ -107,10 +107,10 @@ mod r#trait { type D = Box<dyn GenericType>; //~^ ERROR missing generics for trait `GenericType` - //~| HELP use angle brackets + //~| HELP add missing type E = Box<dyn GenericType<String, usize>>; - //~^ ERROR this trait takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this trait takes 1 generic argument but 2 generic arguments //~| HELP remove } @@ -120,40 +120,40 @@ mod stdlib { type A = HashMap; //~^ ERROR missing generics for struct `HashMap` - //~| HELP use angle brackets + //~| HELP add missing type B = HashMap<String>; - //~^ ERROR this struct takes at least 2 type arguments but only 1 type argument was supplied - //~| HELP add missing type argument + //~^ ERROR this struct takes at least + //~| HELP add missing type C = HashMap<'static>; - //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument was supplied + //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument //~| HELP remove these generics - //~| ERROR this struct takes at least 2 type arguments but 0 type arguments were supplied - //~| HELP add missing type arguments + //~| ERROR this struct takes at least 2 + //~| HELP add missing type D = HashMap<usize, String, char, f64>; - //~^ ERROR this struct takes at most 3 type arguments but 4 type arguments were supplied - //~| HELP remove this type argument + //~^ ERROR this struct takes at most 3 + //~| HELP remove this } mod result { type A = Result; //~^ ERROR missing generics for enum `Result` - //~| HELP use angle brackets + //~| HELP add missing type B = Result<String>; - //~^ ERROR this enum takes 2 type arguments but only 1 type argument was supplied - //~| HELP add missing type argument + //~^ ERROR this enum takes 2 generic arguments but 1 generic argument + //~| HELP add missing type C = Result<'static>; - //~^ ERROR this enum takes 0 lifetime arguments but 1 lifetime argument was supplied + //~^ ERROR this enum takes 0 lifetime arguments but 1 lifetime argument //~| HELP remove these generics - //~| ERROR this enum takes 2 type arguments but 0 type arguments were supplied - //~| HELP add missing type arguments + //~| ERROR this enum takes 2 generic arguments but 0 generic arguments + //~| HELP add missing type D = Result<usize, String, char>; - //~^ ERROR this enum takes 2 type arguments but 3 type arguments were supplied + //~^ ERROR this enum takes 2 generic arguments but 3 generic arguments //~| HELP remove } } diff --git a/src/test/ui/generics/wrong-number-of-args.stderr b/src/test/ui/generics/wrong-number-of-args.stderr index 94fdd355d48..45bde4163d0 100644 --- a/src/test/ui/generics/wrong-number-of-args.stderr +++ b/src/test/ui/generics/wrong-number-of-args.stderr @@ -16,7 +16,7 @@ error[E0107]: this struct takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/wrong-number-of-args.rs:10:14 | LL | type C = Ty<'static, usize>; - | ^^ --------- help: remove this lifetime argument + | ^^ ------- help: remove this lifetime argument | | | expected 0 lifetime arguments | @@ -26,15 +26,15 @@ note: struct defined here, with 0 lifetime parameters LL | struct Ty; | ^^ -error[E0107]: this struct takes 0 type arguments but 1 type argument was supplied +error[E0107]: this struct takes 0 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:10:14 | LL | type C = Ty<'static, usize>; - | ^^ ------- help: remove this type argument + | ^^ ----- help: remove this generic argument | | - | expected 0 type arguments + | expected 0 generic arguments | -note: struct defined here, with 0 type parameters +note: struct defined here, with 0 generic parameters --> $DIR/wrong-number-of-args.rs:2:12 | LL | struct Ty; @@ -44,7 +44,7 @@ error[E0107]: this struct takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/wrong-number-of-args.rs:16:14 | LL | type D = Ty<'static, usize, { 0 }>; - | ^^ --------- help: remove this lifetime argument + | ^^ ------- help: remove this lifetime argument | | | expected 0 lifetime arguments | @@ -58,7 +58,7 @@ error[E0107]: this struct takes 0 generic arguments but 2 generic arguments were --> $DIR/wrong-number-of-args.rs:16:14 | LL | type D = Ty<'static, usize, { 0 }>; - | ^^ -------------- help: remove these generic arguments + | ^^ ------------ help: remove these generic arguments | | | expected 0 generic arguments | @@ -72,45 +72,45 @@ error[E0107]: missing generics for struct `type_and_type::Ty` --> $DIR/wrong-number-of-args.rs:26:14 | LL | type A = Ty; - | ^^ expected 2 type arguments + | ^^ expected 2 generic arguments | -note: struct defined here, with 2 type parameters: `A`, `B` +note: struct defined here, with 2 generic parameters: `A`, `B` --> $DIR/wrong-number-of-args.rs:24:12 | LL | struct Ty<A, B>; | ^^ - - -help: use angle brackets to add missing type arguments +help: add missing generic arguments | LL | type A = Ty<A, B>; - | ^^^^^^ + | ^^^^^^^^ -error[E0107]: this struct takes 2 type arguments but only 1 type argument was supplied +error[E0107]: this struct takes 2 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:30:14 | LL | type B = Ty<usize>; - | ^^ ----- supplied 1 type argument + | ^^ ----- supplied 1 generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: struct defined here, with 2 type parameters: `A`, `B` +note: struct defined here, with 2 generic parameters: `A`, `B` --> $DIR/wrong-number-of-args.rs:24:12 | LL | struct Ty<A, B>; | ^^ - - -help: add missing type argument +help: add missing generic argument | LL | type B = Ty<usize, B>; | ^^^ -error[E0107]: this struct takes 2 type arguments but 3 type arguments were supplied +error[E0107]: this struct takes 2 generic arguments but 3 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:36:14 | LL | type D = Ty<usize, String, char>; - | ^^ ------ help: remove this type argument + | ^^ ---- help: remove this generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: struct defined here, with 2 type parameters: `A`, `B` +note: struct defined here, with 2 generic parameters: `A`, `B` --> $DIR/wrong-number-of-args.rs:24:12 | LL | struct Ty<A, B>; @@ -120,17 +120,17 @@ error[E0107]: missing generics for struct `lifetime_and_type::Ty` --> $DIR/wrong-number-of-args.rs:44:14 | LL | type A = Ty; - | ^^ expected 1 type argument + | ^^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/wrong-number-of-args.rs:42:12 | LL | struct Ty<'a, T>; | ^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | type A = Ty<T>; - | ^^^ + | ^^^^^ error[E0106]: missing lifetime specifier --> $DIR/wrong-number-of-args.rs:44:14 @@ -143,18 +143,18 @@ help: consider introducing a named lifetime parameter LL | type A<'a> = Ty<'a>; | ^^^^ ^^^^^^ -error[E0107]: this struct takes 1 type argument but 0 type arguments were supplied +error[E0107]: this struct takes 1 generic argument but 0 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:50:14 | LL | type B = Ty<'static>; - | ^^ expected 1 type argument + | ^^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/wrong-number-of-args.rs:42:12 | LL | struct Ty<'a, T>; | ^^ - -help: add missing type argument +help: add missing generic argument | LL | type B = Ty<'static, T>; | ^^^ @@ -174,59 +174,59 @@ error[E0107]: missing generics for struct `type_and_type_and_type::Ty` --> $DIR/wrong-number-of-args.rs:64:14 | LL | type A = Ty; - | ^^ expected at least 2 type arguments + | ^^ expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `A`, `B` +note: struct defined here, with at least 2 generic parameters: `A`, `B` --> $DIR/wrong-number-of-args.rs:62:12 | LL | struct Ty<A, B, C = &'static str>; | ^^ - - -help: use angle brackets to add missing type arguments +help: add missing generic arguments | LL | type A = Ty<A, B>; - | ^^^^^^ + | ^^^^^^^^ -error[E0107]: this struct takes at least 2 type arguments but only 1 type argument was supplied +error[E0107]: this struct takes at least 2 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:68:14 | LL | type B = Ty<usize>; - | ^^ ----- supplied 1 type argument + | ^^ ----- supplied 1 generic argument | | - | expected at least 2 type arguments + | expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `A`, `B` +note: struct defined here, with at least 2 generic parameters: `A`, `B` --> $DIR/wrong-number-of-args.rs:62:12 | LL | struct Ty<A, B, C = &'static str>; | ^^ - - -help: add missing type argument +help: add missing generic argument | LL | type B = Ty<usize, B>; | ^^^ -error[E0107]: this struct takes at most 3 type arguments but 4 type arguments were supplied +error[E0107]: this struct takes at most 3 generic arguments but 4 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:76:14 | LL | type E = Ty<usize, String, char, f64>; - | ^^ ----- help: remove this type argument + | ^^ --- help: remove this generic argument | | - | expected at most 3 type arguments + | expected at most 3 generic arguments | -note: struct defined here, with at most 3 type parameters: `A`, `B`, `C` +note: struct defined here, with at most 3 generic parameters: `A`, `B`, `C` --> $DIR/wrong-number-of-args.rs:62:12 | LL | struct Ty<A, B, C = &'static str>; | ^^ - - - -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:96:22 | LL | type A = Box<dyn NonGeneric<usize>>; | ^^^^^^^^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/wrong-number-of-args.rs:84:11 | LL | trait NonGeneric { @@ -247,7 +247,7 @@ error[E0107]: this trait takes 1 lifetime argument but 2 lifetime arguments were --> $DIR/wrong-number-of-args.rs:104:22 | LL | type C = Box<dyn GenericLifetime<'static, 'static>>; - | ^^^^^^^^^^^^^^^ --------- help: remove this lifetime argument + | ^^^^^^^^^^^^^^^ ------- help: remove this lifetime argument | | | expected 1 lifetime argument | @@ -261,27 +261,27 @@ error[E0107]: missing generics for trait `GenericType` --> $DIR/wrong-number-of-args.rs:108:22 | LL | type D = Box<dyn GenericType>; - | ^^^^^^^^^^^ expected 1 type argument + | ^^^^^^^^^^^ expected 1 generic argument | -note: trait defined here, with 1 type parameter: `A` +note: trait defined here, with 1 generic parameter: `A` --> $DIR/wrong-number-of-args.rs:92:11 | LL | trait GenericType<A> { | ^^^^^^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | type D = Box<dyn GenericType<A>>; - | ^^^ + | ^^^^^^^^^^^^^^ -error[E0107]: this trait takes 1 type argument but 2 type arguments were supplied +error[E0107]: this trait takes 1 generic argument but 2 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:112:22 | LL | type E = Box<dyn GenericType<String, usize>>; - | ^^^^^^^^^^^ ------- help: remove this type argument + | ^^^^^^^^^^^ ----- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: trait defined here, with 1 type parameter: `A` +note: trait defined here, with 1 generic parameter: `A` --> $DIR/wrong-number-of-args.rs:92:11 | LL | trait GenericType<A> { @@ -291,32 +291,32 @@ error[E0107]: missing generics for struct `HashMap` --> $DIR/wrong-number-of-args.rs:121:18 | LL | type A = HashMap; - | ^^^^^^^ expected at least 2 type arguments + | ^^^^^^^ expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `K`, `V` +note: struct defined here, with at least 2 generic parameters: `K`, `V` --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL | LL | pub struct HashMap<K, V, S = RandomState> { | ^^^^^^^ - - -help: use angle brackets to add missing type arguments +help: add missing generic arguments | LL | type A = HashMap<K, V>; - | ^^^^^^ + | ^^^^^^^^^^^^^ -error[E0107]: this struct takes at least 2 type arguments but only 1 type argument was supplied +error[E0107]: this struct takes at least 2 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:125:18 | LL | type B = HashMap<String>; - | ^^^^^^^ ------ supplied 1 type argument + | ^^^^^^^ ------ supplied 1 generic argument | | - | expected at least 2 type arguments + | expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `K`, `V` +note: struct defined here, with at least 2 generic parameters: `K`, `V` --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL | LL | pub struct HashMap<K, V, S = RandomState> { | ^^^^^^^ - - -help: add missing type argument +help: add missing generic argument | LL | type B = HashMap<String, V>; | ^^^ @@ -335,31 +335,31 @@ note: struct defined here, with 0 lifetime parameters LL | pub struct HashMap<K, V, S = RandomState> { | ^^^^^^^ -error[E0107]: this struct takes at least 2 type arguments but 0 type arguments were supplied +error[E0107]: this struct takes at least 2 generic arguments but 0 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:129:18 | LL | type C = HashMap<'static>; - | ^^^^^^^ expected at least 2 type arguments + | ^^^^^^^ expected at least 2 generic arguments | -note: struct defined here, with at least 2 type parameters: `K`, `V` +note: struct defined here, with at least 2 generic parameters: `K`, `V` --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL | LL | pub struct HashMap<K, V, S = RandomState> { | ^^^^^^^ - - -help: add missing type arguments +help: add missing generic arguments | LL | type C = HashMap<'static, K, V>; | ^^^^^^ -error[E0107]: this struct takes at most 3 type arguments but 4 type arguments were supplied +error[E0107]: this struct takes at most 3 generic arguments but 4 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:135:18 | LL | type D = HashMap<usize, String, char, f64>; - | ^^^^^^^ ----- help: remove this type argument + | ^^^^^^^ --- help: remove this generic argument | | - | expected at most 3 type arguments + | expected at most 3 generic arguments | -note: struct defined here, with at most 3 type parameters: `K`, `V`, `S` +note: struct defined here, with at most 3 generic parameters: `K`, `V`, `S` --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL | LL | pub struct HashMap<K, V, S = RandomState> { @@ -369,32 +369,32 @@ error[E0107]: missing generics for enum `Result` --> $DIR/wrong-number-of-args.rs:141:18 | LL | type A = Result; - | ^^^^^^ expected 2 type arguments + | ^^^^^^ expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: use angle brackets to add missing type arguments +help: add missing generic arguments | LL | type A = Result<T, E>; - | ^^^^^^ + | ^^^^^^^^^^^^ -error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied +error[E0107]: this enum takes 2 generic arguments but 1 generic argument was supplied --> $DIR/wrong-number-of-args.rs:145:18 | LL | type B = Result<String>; - | ^^^^^^ ------ supplied 1 type argument + | ^^^^^^ ------ supplied 1 generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: add missing type argument +help: add missing generic argument | LL | type B = Result<String, E>; | ^^^ @@ -413,31 +413,31 @@ note: enum defined here, with 0 lifetime parameters LL | pub enum Result<T, E> { | ^^^^^^ -error[E0107]: this enum takes 2 type arguments but 0 type arguments were supplied +error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:149:18 | LL | type C = Result<'static>; - | ^^^^^^ expected 2 type arguments + | ^^^^^^ expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: add missing type arguments +help: add missing generic arguments | LL | type C = Result<'static, T, E>; | ^^^^^^ -error[E0107]: this enum takes 2 type arguments but 3 type arguments were supplied +error[E0107]: this enum takes 2 generic arguments but 3 generic arguments were supplied --> $DIR/wrong-number-of-args.rs:155:18 | LL | type D = Result<usize, String, char>; - | ^^^^^^ ------ help: remove this type argument + | ^^^^^^ ---- help: remove this generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { diff --git a/src/test/ui/issues/issue-14092.stderr b/src/test/ui/issues/issue-14092.stderr index 5cacce751c9..1aa278b450f 100644 --- a/src/test/ui/issues/issue-14092.stderr +++ b/src/test/ui/issues/issue-14092.stderr @@ -2,19 +2,19 @@ error[E0107]: missing generics for struct `Box` --> $DIR/issue-14092.rs:1:11 | LL | fn fn1(0: Box) {} - | ^^^ expected at least 1 type argument + | ^^^ expected at least 1 generic argument | -note: struct defined here, with at least 1 type parameter: `T` +note: struct defined here, with at least 1 generic parameter: `T` --> $SRC_DIR/alloc/src/boxed.rs:LL:COL | LL | pub struct Box< | ^^^ LL | T: ?Sized, | - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | fn fn1(0: Box<T>) {} - | ^^^ + | ^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/issues/issue-18423.stderr b/src/test/ui/issues/issue-18423.stderr index f9006235234..4711a3f3ce0 100644 --- a/src/test/ui/issues/issue-18423.stderr +++ b/src/test/ui/issues/issue-18423.stderr @@ -2,7 +2,7 @@ error[E0107]: this struct takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/issue-18423.rs:4:8 | LL | x: Box<'a, isize> - | ^^^ ---- help: remove this lifetime argument + | ^^^ -- help: remove this lifetime argument | | | expected 0 lifetime arguments | diff --git a/src/test/ui/issues/issue-23024.stderr b/src/test/ui/issues/issue-23024.stderr index 1b876090ad6..5d7ffeb0deb 100644 --- a/src/test/ui/issues/issue-23024.stderr +++ b/src/test/ui/issues/issue-23024.stderr @@ -11,17 +11,17 @@ error[E0107]: missing generics for trait `Fn` --> $DIR/issue-23024.rs:9:39 | LL | println!("{:?}",(vfnfer[0] as dyn Fn)(3)); - | ^^ expected 1 type argument + | ^^ expected 1 generic argument | -note: trait defined here, with 1 type parameter: `Args` +note: trait defined here, with 1 generic parameter: `Args` --> $SRC_DIR/core/src/ops/function.rs:LL:COL | LL | pub trait Fn<Args>: FnMut<Args> { | ^^ ---- -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | println!("{:?}",(vfnfer[0] as dyn Fn<Args>)(3)); - | ^^^^^^ + | ^^^^^^^^ error[E0191]: the value of the associated type `Output` (from trait `FnOnce`) must be specified --> $DIR/issue-23024.rs:9:39 diff --git a/src/test/ui/issues/issue-3214.rs b/src/test/ui/issues/issue-3214.rs index ccfaf23b4b9..aa43d06c99b 100644 --- a/src/test/ui/issues/issue-3214.rs +++ b/src/test/ui/issues/issue-3214.rs @@ -4,7 +4,7 @@ fn foo<T>() { } impl<T> Drop for Foo<T> { - //~^ ERROR this struct takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this struct takes 0 generic arguments but 1 generic argument //~| ERROR the type parameter `T` is not constrained by the impl trait, self type, or predicates fn drop(&mut self) {} } diff --git a/src/test/ui/issues/issue-3214.stderr b/src/test/ui/issues/issue-3214.stderr index 0da095b7fda..094da64d76d 100644 --- a/src/test/ui/issues/issue-3214.stderr +++ b/src/test/ui/issues/issue-3214.stderr @@ -9,15 +9,15 @@ LL | struct Foo { LL | x: T, | ^ use of generic parameter from outer function -error[E0107]: this struct takes 0 type arguments but 1 type argument was supplied +error[E0107]: this struct takes 0 generic arguments but 1 generic argument was supplied --> $DIR/issue-3214.rs:6:22 | LL | impl<T> Drop for Foo<T> { | ^^^--- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: struct defined here, with 0 type parameters +note: struct defined here, with 0 generic parameters --> $DIR/issue-3214.rs:2:12 | LL | struct Foo { diff --git a/src/test/ui/issues/issue-53251.rs b/src/test/ui/issues/issue-53251.rs index 937271d42f4..240826a161d 100644 --- a/src/test/ui/issues/issue-53251.rs +++ b/src/test/ui/issues/issue-53251.rs @@ -9,8 +9,8 @@ macro_rules! impl_add { $( fn $n() { S::f::<i64>(); - //~^ ERROR this associated function takes 0 type arguments but 1 type argument was supplied - //~| ERROR this associated function takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this associated function takes 0 generic + //~| ERROR this associated function takes 0 generic } )* } diff --git a/src/test/ui/issues/issue-53251.stderr b/src/test/ui/issues/issue-53251.stderr index 1676c508a4d..708feffb84d 100644 --- a/src/test/ui/issues/issue-53251.stderr +++ b/src/test/ui/issues/issue-53251.stderr @@ -1,33 +1,33 @@ -error[E0107]: this associated function takes 0 type arguments but 1 type argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/issue-53251.rs:11:20 | LL | S::f::<i64>(); | ^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments ... LL | impl_add!(a b); | --------------- in this macro invocation | -note: associated function defined here, with 0 type parameters +note: associated function defined here, with 0 generic parameters --> $DIR/issue-53251.rs:4:8 | LL | fn f() {} | ^ = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) -error[E0107]: this associated function takes 0 type arguments but 1 type argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/issue-53251.rs:11:20 | LL | S::f::<i64>(); | ^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments ... LL | impl_add!(a b); | --------------- in this macro invocation | -note: associated function defined here, with 0 type parameters +note: associated function defined here, with 0 generic parameters --> $DIR/issue-53251.rs:4:8 | LL | fn f() {} diff --git a/src/test/ui/issues/issue-60622.rs b/src/test/ui/issues/issue-60622.rs index 1018c88ae55..8e230c615bc 100644 --- a/src/test/ui/issues/issue-60622.rs +++ b/src/test/ui/issues/issue-60622.rs @@ -9,7 +9,7 @@ impl Borked { fn run_wild<T>(b: &Borked) { b.a::<'_, T>(); //~^ ERROR cannot specify lifetime arguments explicitly if late bound lifetime parameters are present - //~| ERROR this associated function takes 0 type arguments but 1 type argument was supplied + //~| ERROR this associated function takes 0 generic arguments but 1 generic argument //~| WARN this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! } diff --git a/src/test/ui/issues/issue-60622.stderr b/src/test/ui/issues/issue-60622.stderr index f970a63e4b2..b305cc78535 100644 --- a/src/test/ui/issues/issue-60622.stderr +++ b/src/test/ui/issues/issue-60622.stderr @@ -16,15 +16,15 @@ LL | #![deny(warnings)] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #42868 <https://github.com/rust-lang/rust/issues/42868> -error[E0107]: this associated function takes 0 type arguments but 1 type argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/issue-60622.rs:10:7 | LL | b.a::<'_, T>(); - | ^ --- help: remove this type argument + | ^ - help: remove this generic argument | | - | expected 0 type arguments + | expected 0 generic arguments | -note: associated function defined here, with 0 type parameters +note: associated function defined here, with 0 generic parameters --> $DIR/issue-60622.rs:6:8 | LL | fn a(&self) {} diff --git a/src/test/ui/methods/method-call-lifetime-args-fail.rs b/src/test/ui/methods/method-call-lifetime-args-fail.rs index af173851252..6bf55844da8 100644 --- a/src/test/ui/methods/method-call-lifetime-args-fail.rs +++ b/src/test/ui/methods/method-call-lifetime-args-fail.rs @@ -14,7 +14,7 @@ impl S { fn method_call() { S.early(); // OK S.early::<'static>(); - //~^ ERROR this associated function takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this associated function takes 2 lifetime arguments but 1 lifetime argument S.early::<'static, 'static, 'static>(); //~^ ERROR this associated function takes 2 lifetime arguments but 3 lifetime arguments were supplied let _: &u8 = S.life_and_type::<'static>(); @@ -61,7 +61,7 @@ fn ufcs() { S::early(S); // OK S::early::<'static>(S); - //~^ ERROR this associated function takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this associated function takes 2 lifetime arguments but 1 lifetime argument S::early::<'static, 'static, 'static>(S); //~^ ERROR this associated function takes 2 lifetime arguments but 3 lifetime arguments were supplied let _: &u8 = S::life_and_type::<'static>(S); diff --git a/src/test/ui/methods/method-call-lifetime-args-fail.stderr b/src/test/ui/methods/method-call-lifetime-args-fail.stderr index 2907309c27c..ea50815ec1a 100644 --- a/src/test/ui/methods/method-call-lifetime-args-fail.stderr +++ b/src/test/ui/methods/method-call-lifetime-args-fail.stderr @@ -1,4 +1,4 @@ -error[E0107]: this associated function takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this associated function takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/method-call-lifetime-args-fail.rs:16:7 | LL | S.early::<'static>(); @@ -20,7 +20,7 @@ error[E0107]: this associated function takes 2 lifetime arguments but 3 lifetime --> $DIR/method-call-lifetime-args-fail.rs:18:7 | LL | S.early::<'static, 'static, 'static>(); - | ^^^^^ --------- help: remove this lifetime argument + | ^^^^^ ------- help: remove this lifetime argument | | | expected 2 lifetime arguments | @@ -198,7 +198,7 @@ note: the late bound lifetime parameter is introduced here LL | fn late_unused_early<'a, 'b>(self) -> &'b u8 { loop {} } | ^^ -error[E0107]: this associated function takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this associated function takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/method-call-lifetime-args-fail.rs:63:8 | LL | S::early::<'static>(S); @@ -220,7 +220,7 @@ error[E0107]: this associated function takes 2 lifetime arguments but 3 lifetime --> $DIR/method-call-lifetime-args-fail.rs:65:8 | LL | S::early::<'static, 'static, 'static>(S); - | ^^^^^ --------- help: remove this lifetime argument + | ^^^^^ ------- help: remove this lifetime argument | | | expected 2 lifetime arguments | diff --git a/src/test/ui/seq-args.rs b/src/test/ui/seq-args.rs index 9a3c495602a..a5ebeecd311 100644 --- a/src/test/ui/seq-args.rs +++ b/src/test/ui/seq-args.rs @@ -2,12 +2,12 @@ fn main() { trait Seq { } impl<T> Seq<T> for Vec<T> { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument /* ... */ } impl Seq<bool> for u32 { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument /* Treat the integer as a sequence of bits */ } } diff --git a/src/test/ui/seq-args.stderr b/src/test/ui/seq-args.stderr index 0e89fefc69d..c404d95748b 100644 --- a/src/test/ui/seq-args.stderr +++ b/src/test/ui/seq-args.stderr @@ -1,26 +1,26 @@ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/seq-args.rs:4:13 | LL | impl<T> Seq<T> for Vec<T> { | ^^^--- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/seq-args.rs:2:11 | LL | trait Seq { } | ^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/seq-args.rs:9:10 | LL | impl Seq<bool> for u32 { | ^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/seq-args.rs:2:11 | LL | trait Seq { } diff --git a/src/test/ui/structs/structure-constructor-type-mismatch.rs b/src/test/ui/structs/structure-constructor-type-mismatch.rs index efc6304a6f7..a03ef590cb3 100644 --- a/src/test/ui/structs/structure-constructor-type-mismatch.rs +++ b/src/test/ui/structs/structure-constructor-type-mismatch.rs @@ -45,13 +45,13 @@ fn main() { y: 8, }; - let pt3 = PointF::<i32> { //~ ERROR this type alias takes 0 type arguments but 1 type argument was supplied + let pt3 = PointF::<i32> { //~ ERROR this type alias takes 0 generic arguments but 1 generic argument x: 9, //~ ERROR mismatched types y: 10, //~ ERROR mismatched types }; match (Point { x: 1, y: 2 }) { - PointF::<u32> { .. } => {} //~ ERROR this type alias takes 0 type arguments but 1 type argument was supplied + PointF::<u32> { .. } => {} //~ ERROR this type alias takes 0 generic arguments but 1 generic argument //~^ ERROR mismatched types } diff --git a/src/test/ui/structs/structure-constructor-type-mismatch.stderr b/src/test/ui/structs/structure-constructor-type-mismatch.stderr index 64381278681..3d64fc601df 100644 --- a/src/test/ui/structs/structure-constructor-type-mismatch.stderr +++ b/src/test/ui/structs/structure-constructor-type-mismatch.stderr @@ -52,15 +52,15 @@ LL | x: 7, | expected `f32`, found integer | help: use a float literal: `7.0` -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/structure-constructor-type-mismatch.rs:48:15 | LL | let pt3 = PointF::<i32> { | ^^^^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/structure-constructor-type-mismatch.rs:6:6 | LL | type PointF = Point<f32>; @@ -84,15 +84,15 @@ LL | y: 10, | expected `f32`, found integer | help: use a float literal: `10.0` -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/structure-constructor-type-mismatch.rs:54:9 | LL | PointF::<u32> { .. } => {} | ^^^^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/structure-constructor-type-mismatch.rs:6:6 | LL | type PointF = Point<f32>; diff --git a/src/test/ui/suggestions/missing-lifetime-specifier.rs b/src/test/ui/suggestions/missing-lifetime-specifier.rs index 761922beb17..4aaac2d95d4 100644 --- a/src/test/ui/suggestions/missing-lifetime-specifier.rs +++ b/src/test/ui/suggestions/missing-lifetime-specifier.rs @@ -16,44 +16,44 @@ trait Tar<'t, 'k, I> {} thread_local! { static a: RefCell<HashMap<i32, Vec<Vec<Foo>>>> = RefCell::new(HashMap::new()); - //~^ ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier + //~^ ERROR missing lifetime specifiers + //~| ERROR missing lifetime specifiers } thread_local! { static b: RefCell<HashMap<i32, Vec<Vec<&Bar>>>> = RefCell::new(HashMap::new()); - //~^ ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier + //~^ ERROR missing lifetime specifier + //~| ERROR missing lifetime specifier + //~| ERROR missing lifetime specifier + //~| ERROR missing lifetime specifier } thread_local! { static c: RefCell<HashMap<i32, Vec<Vec<Qux<i32>>>>> = RefCell::new(HashMap::new()); - //~^ ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier + //~^ ERROR missing lifetime + //~| ERROR missing lifetime } thread_local! { static d: RefCell<HashMap<i32, Vec<Vec<&Tar<i32>>>>> = RefCell::new(HashMap::new()); - //~^ ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier + //~^ ERROR missing lifetime + //~| ERROR missing lifetime + //~| ERROR missing lifetime + //~| ERROR missing lifetime } thread_local! { static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, i32>>>>> = RefCell::new(HashMap::new()); - //~^ ERROR this union takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this union takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this union takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this union takes 2 lifetime arguments but only 1 lifetime argument was supplied + //~^ ERROR this union takes 2 lifetime arguments but 1 lifetime argument + //~| ERROR this union takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR this union takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR this union takes 2 lifetime arguments but 1 lifetime argument was supplied } thread_local! { static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); - //~^ ERROR this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied - //~| ERROR missing lifetime specifier - //~| ERROR missing lifetime specifier + //~^ ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied + //~| ERROR missing lifetime + //~| ERROR missing lifetime } fn main() {} diff --git a/src/test/ui/suggestions/missing-lifetime-specifier.stderr b/src/test/ui/suggestions/missing-lifetime-specifier.stderr index 489926ea78a..8ddd2f7d522 100644 --- a/src/test/ui/suggestions/missing-lifetime-specifier.stderr +++ b/src/test/ui/suggestions/missing-lifetime-specifier.stderr @@ -142,7 +142,7 @@ help: consider using the `'static` lifetime LL | static d: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, 'static, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^^^^^^^^^^^^^^ -error[E0107]: this union takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this union takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:43:44 | LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -157,10 +157,10 @@ LL | pub union Qux<'t, 'k, I> { | ^^^ -- -- help: add missing lifetime argument | -LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); +LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, '_, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ -error[E0107]: this union takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this union takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:43:44 | LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -178,7 +178,7 @@ help: add missing lifetime argument LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ -error[E0107]: this union takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this union takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:43:44 | LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -196,7 +196,7 @@ help: add missing lifetime argument LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ -error[E0107]: this union takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this union takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:43:44 | LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -211,10 +211,10 @@ LL | pub union Qux<'t, 'k, I> { | ^^^ -- -- help: add missing lifetime argument | -LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); +LL | static e: RefCell<HashMap<i32, Vec<Vec<Qux<'static, '_, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ -error[E0107]: this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this trait takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:50:45 | LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -229,7 +229,7 @@ LL | trait Tar<'t, 'k, I> {} | ^^^ -- -- help: add missing lifetime argument | -LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); +LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, '_, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ error[E0106]: missing lifetime specifier @@ -244,7 +244,7 @@ help: consider using the `'static` lifetime LL | static f: RefCell<HashMap<i32, Vec<Vec<&'static Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^^^^^ -error[E0107]: this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this trait takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:50:45 | LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -274,7 +274,7 @@ help: consider using the `'static` lifetime LL | static f: RefCell<HashMap<i32, Vec<Vec<&'static Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^^^^^ -error[E0107]: this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this trait takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:50:45 | LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -292,7 +292,7 @@ help: add missing lifetime argument LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ -error[E0107]: this trait takes 2 lifetime arguments but only 1 lifetime argument was supplied +error[E0107]: this trait takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:50:45 | LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, i32>>>>> = RefCell::new(HashMap::new()); @@ -307,7 +307,7 @@ LL | trait Tar<'t, 'k, I> {} | ^^^ -- -- help: add missing lifetime argument | -LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, 'k, i32>>>>> = RefCell::new(HashMap::new()); +LL | static f: RefCell<HashMap<i32, Vec<Vec<&Tar<'static, '_, i32>>>>> = RefCell::new(HashMap::new()); | ^^^^ error: aborting due to 22 previous errors diff --git a/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.rs b/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.rs index 05e2d38c43b..8b6e8cfd720 100644 --- a/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.rs +++ b/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.rs @@ -6,7 +6,7 @@ pub trait T<X, Y> { pub struct Foo { i: Box<dyn T<usize, usize, usize, usize, B=usize>>, //~^ ERROR must be specified - //~| ERROR this trait takes 2 type arguments but 4 type arguments were supplied + //~| ERROR this trait takes 2 generic arguments but 4 generic arguments were supplied } diff --git a/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.stderr b/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.stderr index 2d06591f4c7..f1248643105 100644 --- a/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.stderr +++ b/src/test/ui/suggestions/use-type-argument-instead-of-assoc-type.stderr @@ -1,12 +1,12 @@ -error[E0107]: this trait takes 2 type arguments but 4 type arguments were supplied +error[E0107]: this trait takes 2 generic arguments but 4 generic arguments were supplied --> $DIR/use-type-argument-instead-of-assoc-type.rs:7:16 | LL | i: Box<dyn T<usize, usize, usize, usize, B=usize>>, - | ^ -------------- help: remove these type arguments + | ^ ------------ help: remove these generic arguments | | - | expected 2 type arguments + | expected 2 generic arguments | -note: trait defined here, with 2 type parameters: `X`, `Y` +note: trait defined here, with 2 generic parameters: `X`, `Y` --> $DIR/use-type-argument-instead-of-assoc-type.rs:1:11 | LL | pub trait T<X, Y> { diff --git a/src/test/ui/tag-type-args.stderr b/src/test/ui/tag-type-args.stderr index c9888dc54dc..7523a931dd5 100644 --- a/src/test/ui/tag-type-args.stderr +++ b/src/test/ui/tag-type-args.stderr @@ -2,17 +2,17 @@ error[E0107]: missing generics for enum `Quux` --> $DIR/tag-type-args.rs:3:11 | LL | fn foo(c: Quux) { assert!((false)); } - | ^^^^ expected 1 type argument + | ^^^^ expected 1 generic argument | -note: enum defined here, with 1 type parameter: `T` +note: enum defined here, with 1 generic parameter: `T` --> $DIR/tag-type-args.rs:1:6 | LL | enum Quux<T> { Bar } | ^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | fn foo(c: Quux<T>) { assert!((false)); } - | ^^^ + | ^^^^^^^ error: aborting due to previous error diff --git a/src/test/ui/traits/object/vs-lifetime.rs b/src/test/ui/traits/object/vs-lifetime.rs index e49d276a55a..14ae67cffd7 100644 --- a/src/test/ui/traits/object/vs-lifetime.rs +++ b/src/test/ui/traits/object/vs-lifetime.rs @@ -10,7 +10,7 @@ fn main() { //~^ at least one trait is required for an object type let _: S<'static, 'static>; //~^ ERROR this struct takes 1 lifetime argument but 2 lifetime arguments were supplied - //~| ERROR this struct takes 1 type argument but 0 type arguments were supplied + //~| ERROR this struct takes 1 generic argument but 0 generic arguments were supplied let _: S<dyn 'static +, 'static>; //~^ ERROR type provided when a lifetime was expected //~| ERROR at least one trait is required for an object type diff --git a/src/test/ui/traits/object/vs-lifetime.stderr b/src/test/ui/traits/object/vs-lifetime.stderr index 6673472e4a9..40f5fcbceaf 100644 --- a/src/test/ui/traits/object/vs-lifetime.stderr +++ b/src/test/ui/traits/object/vs-lifetime.stderr @@ -8,7 +8,7 @@ error[E0107]: this struct takes 1 lifetime argument but 2 lifetime arguments wer --> $DIR/vs-lifetime.rs:11:12 | LL | let _: S<'static, 'static>; - | ^ --------- help: remove this lifetime argument + | ^ ------- help: remove this lifetime argument | | | expected 1 lifetime argument | @@ -18,18 +18,18 @@ note: struct defined here, with 1 lifetime parameter: `'a` LL | struct S<'a, T>(&'a u8, T); | ^ -- -error[E0107]: this struct takes 1 type argument but 0 type arguments were supplied +error[E0107]: this struct takes 1 generic argument but 0 generic arguments were supplied --> $DIR/vs-lifetime.rs:11:12 | LL | let _: S<'static, 'static>; - | ^ expected 1 type argument + | ^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/vs-lifetime.rs:4:8 | LL | struct S<'a, T>(&'a u8, T); | ^ - -help: add missing type argument +help: add missing generic argument | LL | let _: S<'static, 'static, T>; | ^^^ diff --git a/src/test/ui/traits/test-2.rs b/src/test/ui/traits/test-2.rs index a33773144c2..183c779607c 100644 --- a/src/test/ui/traits/test-2.rs +++ b/src/test/ui/traits/test-2.rs @@ -7,9 +7,9 @@ impl bar for u32 { fn dup(&self) -> u32 { *self } fn blah<X>(&self) {} } fn main() { 10.dup::<i32>(); - //~^ ERROR this associated function takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this associated function takes 0 generic arguments but 1 10.blah::<i32, i32>(); - //~^ ERROR this associated function takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this associated function takes 1 generic argument but 2 (box 10 as Box<dyn bar>).dup(); //~^ ERROR E0038 //~| ERROR E0038 diff --git a/src/test/ui/traits/test-2.stderr b/src/test/ui/traits/test-2.stderr index 12b55c3a4fd..0289424510f 100644 --- a/src/test/ui/traits/test-2.stderr +++ b/src/test/ui/traits/test-2.stderr @@ -1,26 +1,26 @@ -error[E0107]: this associated function takes 0 type arguments but 1 type argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/test-2.rs:9:8 | LL | 10.dup::<i32>(); | ^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: associated function defined here, with 0 type parameters +note: associated function defined here, with 0 generic parameters --> $DIR/test-2.rs:4:16 | LL | trait bar { fn dup(&self) -> Self; fn blah<X>(&self); } | ^^^ -error[E0107]: this associated function takes 1 type argument but 2 type arguments were supplied +error[E0107]: this associated function takes 1 generic argument but 2 generic arguments were supplied --> $DIR/test-2.rs:11:8 | LL | 10.blah::<i32, i32>(); - | ^^^^ ----- help: remove this type argument + | ^^^^ --- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: associated function defined here, with 1 type parameter: `X` +note: associated function defined here, with 1 generic parameter: `X` --> $DIR/test-2.rs:4:39 | LL | trait bar { fn dup(&self) -> Self; fn blah<X>(&self); } diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs index f204035248a..6bc4f528faa 100644 --- a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs +++ b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.rs @@ -62,10 +62,10 @@ fn main() { AliasFixed::TSVariant::<()>(()); //~^ ERROR type arguments are not allowed for this type [E0109] AliasFixed::<()>::TSVariant(()); - //~^ ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~^ ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] AliasFixed::<()>::TSVariant::<()>(()); //~^ ERROR type arguments are not allowed for this type [E0109] - //~| ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~| ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] // Struct variant @@ -80,10 +80,10 @@ fn main() { AliasFixed::SVariant::<()> { v: () }; //~^ ERROR type arguments are not allowed for this type [E0109] AliasFixed::<()>::SVariant { v: () }; - //~^ ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~^ ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] AliasFixed::<()>::SVariant::<()> { v: () }; //~^ ERROR type arguments are not allowed for this type [E0109] - //~| ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~| ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] // Unit variant @@ -98,8 +98,8 @@ fn main() { AliasFixed::UVariant::<()>; //~^ ERROR type arguments are not allowed for this type [E0109] AliasFixed::<()>::UVariant; - //~^ ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~^ ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] AliasFixed::<()>::UVariant::<()>; //~^ ERROR type arguments are not allowed for this type [E0109] - //~| ERROR this type alias takes 0 type arguments but 1 type argument was supplied [E0107] + //~| ERROR this type alias takes 0 generic arguments but 1 generic argument was supplied [E0107] } diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr index e83db3b0d51..a384d5f561c 100644 --- a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr +++ b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr @@ -166,29 +166,29 @@ error[E0109]: type arguments are not allowed for this type LL | AliasFixed::TSVariant::<()>(()); | ^^ type argument not allowed -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:64:5 | LL | AliasFixed::<()>::TSVariant(()); | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; | ^^^^^^^^^^ -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:66:5 | LL | AliasFixed::<()>::TSVariant::<()>(()); | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; @@ -224,29 +224,29 @@ error[E0109]: type arguments are not allowed for this type LL | AliasFixed::SVariant::<()> { v: () }; | ^^ type argument not allowed -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:82:5 | LL | AliasFixed::<()>::SVariant { v: () }; | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; | ^^^^^^^^^^ -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:84:5 | LL | AliasFixed::<()>::SVariant::<()> { v: () }; | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; @@ -282,29 +282,29 @@ error[E0109]: type arguments are not allowed for this type LL | AliasFixed::UVariant::<()>; | ^^ type argument not allowed -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:100:5 | LL | AliasFixed::<()>::UVariant; | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; | ^^^^^^^^^^ -error[E0107]: this type alias takes 0 type arguments but 1 type argument was supplied +error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied --> $DIR/enum-variant-generic-args.rs:102:5 | LL | AliasFixed::<()>::UVariant::<()>; | ^^^^^^^^^^------ help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: type alias defined here, with 0 type parameters +note: type alias defined here, with 0 generic parameters --> $DIR/enum-variant-generic-args.rs:9:6 | LL | type AliasFixed = Enum<()>; diff --git a/src/test/ui/type/ascription/issue-34255-1.stderr b/src/test/ui/type/ascription/issue-34255-1.stderr index fc474e1ec3b..00449af6a45 100644 --- a/src/test/ui/type/ascription/issue-34255-1.stderr +++ b/src/test/ui/type/ascription/issue-34255-1.stderr @@ -14,17 +14,17 @@ error[E0107]: missing generics for struct `Vec` --> $DIR/issue-34255-1.rs:7:22 | LL | input_cells: Vec::new() - | ^^^ expected at least 1 type argument + | ^^^ expected at least 1 generic argument | -note: struct defined here, with at least 1 type parameter: `T` +note: struct defined here, with at least 1 generic parameter: `T` --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL | LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> { | ^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | input_cells: Vec<T>::new() - | ^^^ + | ^^^^^^ error: aborting due to 3 previous errors diff --git a/src/test/ui/typeck/issue-75883.rs b/src/test/ui/typeck/issue-75883.rs index 3a59ca049ba..8cd34f48835 100644 --- a/src/test/ui/typeck/issue-75883.rs +++ b/src/test/ui/typeck/issue-75883.rs @@ -4,7 +4,7 @@ pub struct UI {} impl UI { pub fn run() -> Result<_> { - //~^ ERROR: this enum takes 2 type arguments but only 1 type argument was supplied + //~^ ERROR: this enum takes 2 generic arguments but 1 generic argument was supplied //~| ERROR: the type placeholder `_` is not allowed within types on item signatures let mut ui = UI {}; ui.interact(); @@ -13,7 +13,7 @@ impl UI { } pub fn interact(&mut self) -> Result<_> { - //~^ ERROR: this enum takes 2 type arguments but only 1 type argument was supplied + //~^ ERROR: this enum takes 2 generic arguments but 1 generic argument was supplied //~| ERROR: the type placeholder `_` is not allowed within types on item signatures unimplemented!(); } diff --git a/src/test/ui/typeck/issue-75883.stderr b/src/test/ui/typeck/issue-75883.stderr index a6b2eb8f972..71f4138c81d 100644 --- a/src/test/ui/typeck/issue-75883.stderr +++ b/src/test/ui/typeck/issue-75883.stderr @@ -1,35 +1,35 @@ -error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied +error[E0107]: this enum takes 2 generic arguments but 1 generic argument was supplied --> $DIR/issue-75883.rs:6:21 | LL | pub fn run() -> Result<_> { - | ^^^^^^ - supplied 1 type argument + | ^^^^^^ - supplied 1 generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: add missing type argument +help: add missing generic argument | LL | pub fn run() -> Result<_, E> { | ^^^ -error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied +error[E0107]: this enum takes 2 generic arguments but 1 generic argument was supplied --> $DIR/issue-75883.rs:15:35 | LL | pub fn interact(&mut self) -> Result<_> { - | ^^^^^^ - supplied 1 type argument + | ^^^^^^ - supplied 1 generic argument | | - | expected 2 type arguments + | expected 2 generic arguments | -note: enum defined here, with 2 type parameters: `T`, `E` +note: enum defined here, with 2 generic parameters: `T`, `E` --> $SRC_DIR/core/src/result.rs:LL:COL | LL | pub enum Result<T, E> { | ^^^^^^ - - -help: add missing type argument +help: add missing generic argument | LL | pub fn interact(&mut self) -> Result<_, E> { | ^^^ diff --git a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs b/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs index f1659d08670..c463a8ad0c7 100644 --- a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs +++ b/src/test/ui/typeck/typeck-builtin-bound-type-parameters.rs @@ -1,17 +1,17 @@ fn foo1<T:Copy<U>, U>(x: T) {} -//~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied +//~^ ERROR this trait takes 0 generic arguments but 1 generic argument was supplied trait Trait: Copy<dyn Send> {} -//~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied +//~^ ERROR this trait takes 0 generic arguments but 1 generic argument was supplied struct MyStruct1<T: Copy<T>>; -//~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied +//~^ ERROR this trait takes 0 generic arguments but 1 generic argument was supplied struct MyStruct2<'a, T: Copy<'a>>; //~^ ERROR this trait takes 0 lifetime arguments but 1 lifetime argument was supplied fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} //~^ ERROR this trait takes 0 lifetime arguments but 1 lifetime argument was supplied -//~| ERROR this trait takes 0 type arguments but 1 type argument was supplied +//~| ERROR this trait takes 0 generic arguments but 1 generic argument was supplied fn main() { } diff --git a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.stderr b/src/test/ui/typeck/typeck-builtin-bound-type-parameters.stderr index 777bc1c95b0..bf74dd7dec0 100644 --- a/src/test/ui/typeck/typeck-builtin-bound-type-parameters.stderr +++ b/src/test/ui/typeck/typeck-builtin-bound-type-parameters.stderr @@ -1,40 +1,40 @@ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/typeck-builtin-bound-type-parameters.rs:1:11 | LL | fn foo1<T:Copy<U>, U>(x: T) {} | ^^^^--- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub trait Copy: Clone { | ^^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/typeck-builtin-bound-type-parameters.rs:4:14 | LL | trait Trait: Copy<dyn Send> {} | ^^^^---------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub trait Copy: Clone { | ^^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/typeck-builtin-bound-type-parameters.rs:7:21 | LL | struct MyStruct1<T: Copy<T>>; | ^^^^--- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub trait Copy: Clone { @@ -58,7 +58,7 @@ error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was --> $DIR/typeck-builtin-bound-type-parameters.rs:13:15 | LL | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} - | ^^^^ ---- help: remove this lifetime argument + | ^^^^ -- help: remove this lifetime argument | | | expected 0 lifetime arguments | @@ -68,15 +68,15 @@ note: trait defined here, with 0 lifetime parameters LL | pub trait Copy: Clone { | ^^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/typeck-builtin-bound-type-parameters.rs:13:15 | LL | fn foo2<'a, T:Copy<'a, U>, U>(x: T) {} - | ^^^^ --- help: remove this type argument + | ^^^^ - help: remove this generic argument | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub trait Copy: Clone { diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs b/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs index 8f8917e16af..43e46c5b6c3 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs +++ b/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.rs @@ -7,5 +7,5 @@ struct Foo<'a, T:'a> { pub fn main() { let c: Foo<_, _> = Foo { r: &5 }; - //~^ ERROR this struct takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this struct takes 1 generic argument but 2 generic arguments were supplied } diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr b/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr index 01ab8e78d7c..a89c6b85c78 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr +++ b/src/test/ui/typeck/typeck_type_placeholder_lifetime_1.stderr @@ -1,12 +1,12 @@ -error[E0107]: this struct takes 1 type argument but 2 type arguments were supplied +error[E0107]: this struct takes 1 generic argument but 2 generic arguments were supplied --> $DIR/typeck_type_placeholder_lifetime_1.rs:9:12 | LL | let c: Foo<_, _> = Foo { r: &5 }; - | ^^^ --- help: remove this type argument + | ^^^ - help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/typeck_type_placeholder_lifetime_1.rs:4:8 | LL | struct Foo<'a, T:'a> { diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs b/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs index b491a7e1a9c..178b8b1229a 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs +++ b/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.rs @@ -7,5 +7,5 @@ struct Foo<'a, T:'a> { pub fn main() { let c: Foo<_, usize> = Foo { r: &5 }; - //~^ ERROR this struct takes 1 type argument but 2 type arguments were supplied + //~^ ERROR this struct takes 1 generic argument but 2 generic arguments were supplied } diff --git a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr b/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr index 6d03b833c0f..f30766bdf01 100644 --- a/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr +++ b/src/test/ui/typeck/typeck_type_placeholder_lifetime_2.stderr @@ -1,12 +1,12 @@ -error[E0107]: this struct takes 1 type argument but 2 type arguments were supplied +error[E0107]: this struct takes 1 generic argument but 2 generic arguments were supplied --> $DIR/typeck_type_placeholder_lifetime_2.rs:9:12 | LL | let c: Foo<_, usize> = Foo { r: &5 }; - | ^^^ ------- help: remove this type argument + | ^^^ ----- help: remove this generic argument | | - | expected 1 type argument + | expected 1 generic argument | -note: struct defined here, with 1 type parameter: `T` +note: struct defined here, with 1 generic parameter: `T` --> $DIR/typeck_type_placeholder_lifetime_2.rs:4:8 | LL | struct Foo<'a, T:'a> { diff --git a/src/test/ui/ufcs/ufcs-qpath-missing-params.rs b/src/test/ui/ufcs/ufcs-qpath-missing-params.rs index 7d2fbdae6a2..766351634bb 100644 --- a/src/test/ui/ufcs/ufcs-qpath-missing-params.rs +++ b/src/test/ui/ufcs/ufcs-qpath-missing-params.rs @@ -12,9 +12,9 @@ impl<'a> IntoCow<'a, str> for String { fn main() { <String as IntoCow>::into_cow("foo".to_string()); - //~^ ERROR missing generics for trait `IntoCow` + //~^ ERROR missing generics for <String as IntoCow>::into_cow::<str>("foo".to_string()); - //~^ ERROR missing generics for trait `IntoCow` - //~| ERROR this associated function takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this associated function takes 0 generic arguments but 1 + //~| ERROR missing generics for } diff --git a/src/test/ui/ufcs/ufcs-qpath-missing-params.stderr b/src/test/ui/ufcs/ufcs-qpath-missing-params.stderr index e3fcef3dc1b..37aa4d949da 100644 --- a/src/test/ui/ufcs/ufcs-qpath-missing-params.stderr +++ b/src/test/ui/ufcs/ufcs-qpath-missing-params.stderr @@ -2,43 +2,43 @@ error[E0107]: missing generics for trait `IntoCow` --> $DIR/ufcs-qpath-missing-params.rs:14:16 | LL | <String as IntoCow>::into_cow("foo".to_string()); - | ^^^^^^^ expected 1 type argument + | ^^^^^^^ expected 1 generic argument | -note: trait defined here, with 1 type parameter: `B` +note: trait defined here, with 1 generic parameter: `B` --> $DIR/ufcs-qpath-missing-params.rs:3:11 | LL | pub trait IntoCow<'a, B: ?Sized> where B: ToOwned { | ^^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | <String as IntoCow<B>>::into_cow("foo".to_string()); - | ^^^ + | ^^^^^^^^^^ error[E0107]: missing generics for trait `IntoCow` --> $DIR/ufcs-qpath-missing-params.rs:17:16 | LL | <String as IntoCow>::into_cow::<str>("foo".to_string()); - | ^^^^^^^ expected 1 type argument + | ^^^^^^^ expected 1 generic argument | -note: trait defined here, with 1 type parameter: `B` +note: trait defined here, with 1 generic parameter: `B` --> $DIR/ufcs-qpath-missing-params.rs:3:11 | LL | pub trait IntoCow<'a, B: ?Sized> where B: ToOwned { | ^^^^^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | <String as IntoCow<B>>::into_cow::<str>("foo".to_string()); - | ^^^ + | ^^^^^^^^^^ -error[E0107]: this associated function takes 0 type arguments but 1 type argument was supplied +error[E0107]: this associated function takes 0 generic arguments but 1 generic argument was supplied --> $DIR/ufcs-qpath-missing-params.rs:17:26 | LL | <String as IntoCow>::into_cow::<str>("foo".to_string()); | ^^^^^^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: associated function defined here, with 0 type parameters +note: associated function defined here, with 0 generic parameters --> $DIR/ufcs-qpath-missing-params.rs:4:8 | LL | fn into_cow(self) -> Cow<'a, B>; diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr b/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr index d81975abbe9..d0d27a5b759 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr @@ -8,17 +8,17 @@ error[E0107]: missing generics for struct `Bar` --> $DIR/unboxed-closure-sugar-used-on-struct-1.rs:8:16 | LL | let x: Box<Bar()> = panic!(); - | ^^^ expected 1 type argument + | ^^^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `A` +note: struct defined here, with 1 generic parameter: `A` --> $DIR/unboxed-closure-sugar-used-on-struct-1.rs:3:8 | LL | struct Bar<A> { | ^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | let x: Box<Bar<A>()> = panic!(); - | ^^^ + | ^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr b/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr index 80d7c2402b6..0abf46cee92 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr @@ -8,17 +8,17 @@ error[E0107]: missing generics for struct `Bar` --> $DIR/unboxed-closure-sugar-used-on-struct.rs:7:15 | LL | fn foo(b: Box<Bar()>) { - | ^^^ expected 1 type argument + | ^^^ expected 1 generic argument | -note: struct defined here, with 1 type parameter: `A` +note: struct defined here, with 1 generic parameter: `A` --> $DIR/unboxed-closure-sugar-used-on-struct.rs:3:8 | LL | struct Bar<A> { | ^^^ - -help: use angle brackets to add missing type argument +help: add missing generic argument | LL | fn foo(b: Box<Bar<A>()>) { - | ^^^ + | ^^^^^^ error: aborting due to 2 previous errors diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs index a496b7da2f1..f26ad8e93a1 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs @@ -3,7 +3,7 @@ trait Three<A,B,C> { fn dummy(&self) -> (A,B,C); } fn foo(_: &dyn Three()) -//~^ ERROR this trait takes 3 type arguments but only 1 type argument was supplied +//~^ ERROR this trait takes 3 generic arguments but 1 generic argument //~| ERROR associated type `Output` not found {} diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr index ef5e7d222b4..ebaacf0a698 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr @@ -1,12 +1,12 @@ -error[E0107]: this trait takes 3 type arguments but only 1 type argument was supplied +error[E0107]: this trait takes 3 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs:5:16 | LL | fn foo(_: &dyn Three()) - | ^^^^^-- supplied 1 type argument + | ^^^^^-- supplied 1 generic argument | | - | expected 3 type arguments + | expected 3 generic arguments | -note: trait defined here, with 3 type parameters: `A`, `B`, `C` +note: trait defined here, with 3 generic parameters: `A`, `B`, `C` --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs:3:7 | LL | trait Three<A,B,C> { fn dummy(&self) -> (A,B,C); } diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs index d0c85150efe..4465b43a757 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs @@ -3,25 +3,25 @@ trait Zero { fn dummy(&self); } fn foo1(_: dyn Zero()) { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument //~| ERROR associated type `Output` not found for `Zero` } fn foo2(_: dyn Zero<usize>) { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument } fn foo3(_: dyn Zero < usize >) { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument } fn foo4(_: dyn Zero(usize)) { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument //~| ERROR associated type `Output` not found for `Zero` } fn foo5(_: dyn Zero ( usize )) { - //~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied + //~^ ERROR this trait takes 0 generic arguments but 1 generic argument //~| ERROR associated type `Output` not found for `Zero` } diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr index 2e620a5563f..9601e64c189 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr @@ -1,12 +1,12 @@ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:5:16 | LL | fn foo1(_: dyn Zero()) { | ^^^^-- help: remove these parenthetical generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:3:7 | LL | trait Zero { fn dummy(&self); } @@ -18,43 +18,43 @@ error[E0220]: associated type `Output` not found for `Zero` LL | fn foo1(_: dyn Zero()) { | ^^^^^^ associated type `Output` not found -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:10:16 | LL | fn foo2(_: dyn Zero<usize>) { | ^^^^------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:3:7 | LL | trait Zero { fn dummy(&self); } | ^^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:14:16 | LL | fn foo3(_: dyn Zero < usize >) { | ^^^^-------------- help: remove these generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:3:7 | LL | trait Zero { fn dummy(&self); } | ^^^^ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:18:16 | LL | fn foo4(_: dyn Zero(usize)) { | ^^^^------- help: remove these parenthetical generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:3:7 | LL | trait Zero { fn dummy(&self); } @@ -66,15 +66,15 @@ error[E0220]: associated type `Output` not found for `Zero` LL | fn foo4(_: dyn Zero(usize)) { | ^^^^^^^^^^^ associated type `Output` not found -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:23:16 | LL | fn foo5(_: dyn Zero ( usize )) { | ^^^^-------------- help: remove these parenthetical generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-number-number-type-parameters.rs:3:7 | LL | trait Zero { fn dummy(&self); } diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs index 5a47942e5af..4bcf90552f9 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs @@ -3,7 +3,7 @@ trait Trait {} fn f<F:Trait(isize) -> isize>(x: F) {} -//~^ ERROR this trait takes 0 type arguments but 1 type argument was supplied +//~^ ERROR this trait takes 0 generic arguments but 1 generic argument //~| ERROR associated type `Output` not found for `Trait` fn main() {} diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr index b88a316c0c9..3ff05fb2331 100644 --- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr +++ b/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr @@ -1,12 +1,12 @@ -error[E0107]: this trait takes 0 type arguments but 1 type argument was supplied +error[E0107]: this trait takes 0 generic arguments but 1 generic argument was supplied --> $DIR/unboxed-closure-sugar-wrong-trait.rs:5:8 | LL | fn f<F:Trait(isize) -> isize>(x: F) {} | ^^^^^------- help: remove these parenthetical generics | | - | expected 0 type arguments + | expected 0 generic arguments | -note: trait defined here, with 0 type parameters +note: trait defined here, with 0 generic parameters --> $DIR/unboxed-closure-sugar-wrong-trait.rs:3:7 | LL | trait Trait {} |
