File tree Expand file tree Collapse file tree 5 files changed +49
-1
lines changed Expand file tree Collapse file tree 5 files changed +49
-1
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5
5
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: b269ac13cde5d663909894f5c656cb8be77249c2
8
+ refs/heads/try2: 768247f393a18ec56d7a92cded2545e6f7d92649
9
9
refs/heads/incoming: d9317a174e434d4c99fc1a37fd7dc0d2f5328d37
10
10
refs/heads/dist-snap: 22efa39382d41b084fde1719df7ae8ce5697d8c9
11
11
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
Original file line number Diff line number Diff line change
1
+ type t < T > = { f : fn ( ) -> T } ;
2
+
3
+ fn f < T > ( _x : t < T > ) { }
4
+
5
+ fn main ( ) {
6
+ let x: t < ( ) > = { f: { || ( ) } } ;
7
+ f ( x) ; //~ ERROR copying a noncopyable value
8
+ }
Original file line number Diff line number Diff line change
1
+ type boxedFn = { theFn : fn ( ) -> uint } ;
2
+
3
+ fn createClosure ( closedUint : uint ) -> boxedFn {
4
+ { theFn : fn @ ( ) -> uint { closedUint } }
5
+ }
6
+
7
+ fn main ( ) {
8
+ let aFn: boxedFn = createClosure ( 10 ) ;
9
+
10
+ let myInt: uint = aFn. theFn ( ) ;
11
+
12
+ assert myInt == 10 ;
13
+ }
Original file line number Diff line number Diff line change
1
+ fn add ( n : int ) -> fn @( int ) -> int {
2
+ fn @( m: int) -> int { m + n }
3
+ }
4
+
5
+ fn main ( )
6
+ {
7
+ assert add( 3 ) ( 4 ) == 7 ;
8
+ let add3 : fn ( int ) ->int = add ( 3 ) ;
9
+ assert add3( 4 ) == 7 ;
10
+ }
Original file line number Diff line number Diff line change
1
+ fn add ( n : int ) -> fn @( int ) -> int {
2
+ fn @( m: int) -> int { m + n }
3
+ }
4
+
5
+ fn main ( )
6
+ {
7
+ assert add( 3 ) ( 4 ) == 7 ;
8
+
9
+ let add1 : fn @( int ) ->int = add ( 1 ) ;
10
+ assert add1( 6 ) == 7 ;
11
+
12
+ let add2 : & ( fn @( int ) ->int ) = & add ( 2 ) ;
13
+ assert ( * add2) ( 5 ) == 7 ;
14
+
15
+ let add3 : fn ( int ) ->int = add ( 3 ) ;
16
+ assert add3( 4 ) == 7 ;
17
+ }
You can’t perform that action at this time.
0 commit comments