61 lines
1.4 KiB
Rust
61 lines
1.4 KiB
Rust
struct Foo<'a>(&'a str);
|
|
struct Buzz<'a, 'b>(&'a str, &'b str);
|
|
struct Qux<'a, T>(&'a T);
|
|
struct Quux<T>(T);
|
|
|
|
enum Bar {
|
|
A,
|
|
B,
|
|
C,
|
|
}
|
|
|
|
struct Baz<'a, 'b, 'c> {
|
|
buzz: Buzz<'a>,
|
|
//~^ ERROR struct takes 2 lifetime arguments
|
|
//~| HELP add missing lifetime argument
|
|
|
|
bar: Bar<'a>,
|
|
//~^ ERROR enum takes 0 lifetime arguments
|
|
//~| HELP remove the unnecessary generics
|
|
|
|
foo2: Foo<'a, 'b, 'c>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime arguments
|
|
|
|
qux1: Qux<'a, 'b, i32>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime argument
|
|
|
|
qux2: Qux<'a, i32, 'b>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime argument
|
|
|
|
qux3: Qux<'a, 'b, 'c, i32>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime arguments
|
|
|
|
qux4: Qux<'a, i32, 'b, 'c>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime arguments
|
|
|
|
qux5: Qux<'a, 'b, i32, 'c>,
|
|
//~^ ERROR struct takes 1 lifetime argument
|
|
//~| HELP remove the lifetime argument
|
|
|
|
quux: Quux<'a, i32, 'b>,
|
|
//~^ ERROR struct takes 0 lifetime arguments
|
|
//~| HELP remove the lifetime argument
|
|
}
|
|
|
|
pub trait T {
|
|
type A;
|
|
type B;
|
|
}
|
|
|
|
fn trait_bound_generic<I: T<u8, u16>>(_i: I) {
|
|
//~^ ERROR trait takes 0 generic arguments
|
|
//~| HELP replace the generic bounds with the associated types
|
|
}
|
|
|
|
fn main() {}
|