| enum Enum<'a, T, 'b> { | |
| //~^ ERROR lifetime parameters must be declared prior to type and const parameters | |
| A(&'a &'b T) | |
| } | |
| struct Struct<'a, T, 'b> { | |
| //~^ ERROR lifetime parameters must be declared prior to type and const parameters | |
| x: &'a &'b T | |
| } | |
| trait Trait<'a, T, 'b> {} | |
| //~^ ERROR lifetime parameters must be declared prior to type and const parameters | |
| fn foo<'a, T, 'b>(x: &'a T) {} | |
| //~^ ERROR lifetime parameters must be declared prior to type and const parameters | |
| struct Y<T>(T); | |
| impl<'a, T, 'b> Y<T> {} | |
| //~^ ERROR lifetime parameters must be declared prior to type and const parameters | |
| mod bar { | |
| pub struct X<'a, 'b, 'c, T> { | |
| a: &'a str, | |
| b: &'b str, | |
| c: &'c str, | |
| t: T, | |
| } | |
| } | |
| fn bar<'a, 'b, 'c, T>(x: bar::X<'a, T, 'b, 'c>) {} | |
| //~^ ERROR type provided when a lifetime was expected | |
| fn main() {} |