]>
Commit | Line | Data |
---|---|---|
85aaf69f | 1 | trait X { fn foo(&self) {} } |
1a4d82fc | 2 | |
dc9dc135 | 3 | fn p1<T>(v: T) -> Box<dyn X + 'static> |
1a4d82fc JJ |
4 | where T : X |
5 | { | |
c34b1796 | 6 | Box::new(v) //~ ERROR parameter type `T` may not live long enough |
1a4d82fc JJ |
7 | } |
8 | ||
dc9dc135 | 9 | fn p2<T>(v: Box<T>) -> Box<dyn X + 'static> |
1a4d82fc JJ |
10 | where Box<T> : X |
11 | { | |
c34b1796 | 12 | Box::new(v) //~ ERROR parameter type `T` may not live long enough |
1a4d82fc JJ |
13 | } |
14 | ||
dc9dc135 | 15 | fn p3<'a,T>(v: T) -> Box<dyn X + 'a> |
1a4d82fc JJ |
16 | where T : X |
17 | { | |
c34b1796 | 18 | Box::new(v) //~ ERROR parameter type `T` may not live long enough |
1a4d82fc JJ |
19 | } |
20 | ||
dc9dc135 | 21 | fn p4<'a,T>(v: Box<T>) -> Box<dyn X + 'a> |
1a4d82fc JJ |
22 | where Box<T> : X |
23 | { | |
c34b1796 | 24 | Box::new(v) //~ ERROR parameter type `T` may not live long enough |
1a4d82fc JJ |
25 | } |
26 | ||
27 | fn main() {} |