blob: b868d4b15a1aa9a3ce223f8de821b2f247b2a8fa (
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
error[E0106]: missing lifetime specifier
--> $DIR/missing-lifetime-in-alias.rs:23:24
|
LL | type B<'a> = <A<'a> as Trait>::Foo;
| ^^^^^ expected named lifetime parameter
|
help: consider using the `'a` lifetime
|
LL | type B<'a> = <A<'a> as Trait<'a>>::Foo;
| ++++
error[E0106]: missing lifetime specifier
--> $DIR/missing-lifetime-in-alias.rs:27:28
|
LL | type C<'a, 'b> = <A<'a> as Trait>::Bar;
| ^^^^^ expected named lifetime parameter
|
note: these named lifetimes are available to use
--> $DIR/missing-lifetime-in-alias.rs:27:8
|
LL | type C<'a, 'b> = <A<'a> as Trait>::Bar;
| ^^ ^^
help: consider using one of the available lifetimes here
|
LL | type C<'a, 'b> = <A<'a> as Trait<'lifetime>>::Bar;
| +++++++++++
error[E0477]: the type `Impl<'a>` does not fulfill the required lifetime
--> $DIR/missing-lifetime-in-alias.rs:16:20
|
LL | type Bar<'b>
| ------------ definition of `Bar` from trait
...
LL | type Bar<'b> = &'b ();
| ^^^^^^
|
note: type must outlive the lifetime `'b` as defined here
--> $DIR/missing-lifetime-in-alias.rs:16:14
|
LL | type Bar<'b> = &'b ();
| ^^
help: copy the `where` clause predicates from the trait
|
LL | type Bar<'b> = &'b () where Self: 'b;
| ++++++++++++++
error[E0107]: missing generics for associated type `Trait::Bar`
--> $DIR/missing-lifetime-in-alias.rs:27:36
|
LL | type C<'a, 'b> = <A<'a> as Trait>::Bar;
| ^^^ expected 1 lifetime argument
|
note: associated type defined here, with 1 lifetime parameter: `'b`
--> $DIR/missing-lifetime-in-alias.rs:4:10
|
LL | type Bar<'b>
| ^^^ --
help: add missing lifetime argument
|
LL | type C<'a, 'b> = <A<'a> as Trait>::Bar<'a>;
| ++++
error: aborting due to 4 previous errors
Some errors have detailed explanations: E0106, E0107, E0477.
For more information about an error, try `rustc --explain E0106`.
|