File tree Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Expand file tree Collapse file tree 2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ // build-pass
2+
3+ enum Foo < T > {
4+ Var ( T ) ,
5+ } // `T` is covariant.
6+
7+ fn foo < ' b > ( x : Foo < for <' a > fn ( & ' a ( ) ) > ) {
8+ let Foo :: Var ( x) : Foo < fn ( & ' b ( ) ) > = x;
9+ }
10+
11+ fn foo_nested < ' b > ( x : Foo < Foo < for <' a > fn ( & ' a ( ) ) > > ) {
12+ let Foo :: Var ( Foo :: Var ( x) ) : Foo < Foo < fn ( & ' b ( ) ) > > = x;
13+ }
14+
15+ fn main ( ) { }
Original file line number Diff line number Diff line change 22
33struct Foo < T > ( T ) ; // `T` is covariant.
44
5+ struct Bar < T > {
6+ x : T ,
7+ } // `T` is covariant.
8+
9+ fn bar < ' b > ( x : Bar < for <' a > fn ( & ' a ( ) ) > ) {
10+ let Bar { x } : Bar < fn ( & ' b ( ) ) > = x;
11+ }
12+
13+ fn bar_nested < ' b > ( x : Bar < Bar < for <' a > fn ( & ' a ( ) ) > > ) {
14+ let Bar { x : Bar { x } } : Bar < Bar < fn ( & ' b ( ) ) > > = x;
15+ }
16+
17+ fn bar_foo_nested < ' b > ( x : Bar < Foo < for <' a > fn ( & ' a ( ) ) > > ) {
18+ let Bar { x : Foo ( x ) } : Bar < Foo < fn ( & ' b ( ) ) > > = x;
19+ }
20+
521fn foo < ' b > ( x : Foo < for <' a > fn ( & ' a ( ) ) > ) {
622 let Foo ( y) : Foo < fn ( & ' b ( ) ) > = x;
723}
You can’t perform that action at this time.
0 commit comments