summaryrefslogtreecommitdiffstats
path: root/tests/ui/parser/issues/issue-14303.rs
blob: 82850d77aa921719e995eae174a74aab4456a1f7 (plain)
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() {}