1 error[E0310]: the parameter type `A` may not live long enough
2 --> $DIR/normalization-infer.rs:11:12
4 LL | let _: <(_,) as Tr>::Ty = a;
5 | ^^^^^^^^^^^^^^^^ ...so that the type `A` will meet its required lifetime bounds
7 help: consider adding an explicit lifetime bound...
9 LL | fn test1<A: 'static, B, C, D>(a: A, b: B, c: C) {
12 error[E0310]: the parameter type `B` may not live long enough
13 --> $DIR/normalization-infer.rs:12:5
15 LL | Some::<<(_,) as Tr>::Ty>(b);
16 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `B` will meet its required lifetime bounds
18 help: consider adding an explicit lifetime bound...
20 LL | fn test1<A, B: 'static, C, D>(a: A, b: B, c: C) {
23 error[E0310]: the parameter type `C` may not live long enough
24 --> $DIR/normalization-infer.rs:13:11
26 LL | || -> <(_,) as Tr>::Ty { c };
27 | ^^^^^^^^^^^^^^^^ ...so that the type `C` will meet its required lifetime bounds
29 help: consider adding an explicit lifetime bound...
31 LL | fn test1<A, B, C: 'static, D>(a: A, b: B, c: C) {
34 error[E0310]: the parameter type `D` may not live long enough
35 --> $DIR/normalization-infer.rs:14:6
37 LL | |d: <(_,) as Tr>::Ty| -> D { d };
38 | ^ ...so that the type `D` will meet its required lifetime bounds
40 help: consider adding an explicit lifetime bound...
42 LL | fn test1<A, B, C, D: 'static>(a: A, b: B, c: C) {
45 error[E0310]: the parameter type `A` may not live long enough
46 --> $DIR/normalization-infer.rs:28:12
48 LL | let _: Alias<_, _> = (a, 0u8);
49 | ^^^^^^^^^^^ ...so that the type `A` will meet its required lifetime bounds
51 help: consider adding an explicit lifetime bound...
53 LL | fn test2<A: 'static, B, C>(a: A, b: B, c: C) {
56 error[E0310]: the parameter type `B` may not live long enough
57 --> $DIR/normalization-infer.rs:29:5
59 LL | Some::<Alias<_, _>>((b, 0u8));
60 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `B` will meet its required lifetime bounds
62 help: consider adding an explicit lifetime bound...
64 LL | fn test2<A, B: 'static, C>(a: A, b: B, c: C) {
67 error[E0310]: the parameter type `C` may not live long enough
68 --> $DIR/normalization-infer.rs:30:11
70 LL | || -> Alias<_, _> { (c, 0u8) };
71 | ^^^^^^^^^^^ ...so that the type `C` will meet its required lifetime bounds
73 help: consider adding an explicit lifetime bound...
75 LL | fn test2<A, B, C: 'static>(a: A, b: B, c: C) {
78 error[E0716]: temporary value dropped while borrowed
79 --> $DIR/normalization-infer.rs:32:28
81 LL | let _: Alias<_, _> = (&temp(), 0u8);
82 | ----------- ^^^^^^ creates a temporary value which is freed while still in use
84 | type annotation requires that borrow lasts for `'static`
87 | - temporary value is freed at the end of this statement
89 error[E0716]: temporary value dropped while borrowed
90 --> $DIR/normalization-infer.rs:33:27
92 LL | Some::<Alias<_, _>>((&temp(), 0u8));
93 | --^^^^^^------ - temporary value is freed at the end of this statement
95 | | creates a temporary value which is freed while still in use
96 | this usage requires that borrow lasts for `'static`
98 error: aborting due to 9 previous errors
100 Some errors have detailed explanations: E0310, E0716.
101 For more information about an error, try `rustc --explain E0310`.