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 2
2
refs/heads/master: 09bb07bed9166105ea961a42b5fff7739ae0d2e9
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5
- refs/heads/try: b269ac13cde5d663909894f5c656cb8be77249c2
5
+ refs/heads/try: 768247f393a18ec56d7a92cded2545e6f7d92649
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278
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