1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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() {}
|