File tree Expand file tree Collapse file tree 3 files changed +75
-1
lines changed Expand file tree Collapse file tree 3 files changed +75
-1
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 27b7841bb1261fb2d94a0ed6f2ec0a146a44783d
2
+ refs/heads/master: 11111bb6b7889ce45770a6ffe46c75a2690c387f
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: b3317d68910900f135f9f38e43a7a699bc736b4a
5
5
refs/heads/try: 961e0358e1a5c0faaef606e31e9965742c1643bf
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // Test that you can supply `&F` where `F: FnMut()`.
12
+
13
+ // pretty-expanded FIXME #23616
14
+
15
+ #![ feature( lang_items, unboxed_closures) ]
16
+
17
+ fn a < F : FnMut ( ) -> i32 > ( mut f : F ) -> i32 {
18
+ f ( )
19
+ }
20
+
21
+ fn b ( f : & mut FnMut ( ) -> i32 ) -> i32 {
22
+ a ( f)
23
+ }
24
+
25
+ fn c < F : FnMut ( ) -> i32 > ( f : & mut F ) -> i32 {
26
+ a ( f)
27
+ }
28
+
29
+ fn main ( ) {
30
+ let z: isize = 7 ;
31
+
32
+ let x = b ( & mut || 22 ) ;
33
+ assert_eq ! ( x, 22 ) ;
34
+
35
+ let x = c ( & mut || 22 ) ;
36
+ assert_eq ! ( x, 22 ) ;
37
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // Test that you can supply `&F` where `F: Fn()`.
12
+
13
+ // pretty-expanded FIXME #23616
14
+
15
+ #![ feature( lang_items, unboxed_closures) ]
16
+
17
+ fn a < F : Fn ( ) -> i32 > ( f : F ) -> i32 {
18
+ f ( )
19
+ }
20
+
21
+ fn b ( f : & Fn ( ) -> i32 ) -> i32 {
22
+ a ( f)
23
+ }
24
+
25
+ fn c < F : Fn ( ) -> i32 > ( f : & F ) -> i32 {
26
+ a ( f)
27
+ }
28
+
29
+ fn main ( ) {
30
+ let z: isize = 7 ;
31
+
32
+ let x = b ( & || 22 ) ;
33
+ assert_eq ! ( x, 22 ) ;
34
+
35
+ let x = c ( & || 22 ) ;
36
+ assert_eq ! ( x, 22 ) ;
37
+ }
You can’t perform that action at this time.
0 commit comments