File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Expand file tree Collapse file tree 2 files changed +46
-0
lines changed 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
+ #![ feature( unboxed_closures, overloaded_calls) ]
12
+
13
+ #[ inline]
14
+ pub fn has_closures ( ) -> uint {
15
+ let x = 1 u;
16
+ let mut f = move |& mut : | x;
17
+ let y = 1 u;
18
+ let g = |: | y;
19
+ f ( ) + g ( )
20
+ }
21
+
22
+ pub fn has_generic_closures < T : Add < T , T > + Copy > ( x : T , y : T ) -> T {
23
+ let mut f = move |& mut : | x;
24
+ let g = |: | y;
25
+ f ( ) + g ( )
26
+ }
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 unboxed closures work with cross-crate inlining
12
+ // Acts as a regression test for #16790, #18378 and #18543
13
+
14
+ // aux-build:unboxed-closures-cross-crate.rs
15
+ extern crate "unboxed-closures-cross-crate" as ubcc;
16
+
17
+ fn main ( ) {
18
+ assert_eq ! ( ubcc:: has_closures( ) , 2 u) ;
19
+ assert_eq ! ( ubcc:: has_generic_closures( 2 u, 3 u) , 5 u) ;
20
+ }
You can’t perform that action at this time.
0 commit comments