Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Showing
2 changed files
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
#![feature(unboxed_closures, overloaded_calls)] | ||
|
||
#[inline] | ||
pub fn has_closures() -> uint { | ||
let x = 1u; | ||
let mut f = move |&mut:| x; | ||
let y = 1u; | ||
let g = |:| y; | ||
f() + g() | ||
} | ||
|
||
pub fn has_generic_closures<T: Add<T,T> + Copy>(x: T, y: T) -> T { | ||
let mut f = move |&mut:| x; | ||
let g = |:| y; | ||
f() + g() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
// Test that unboxed closures work with cross-crate inlining | ||
// Acts as a regression test for #16790, #18378 and #18543 | ||
|
||
// aux-build:unboxed-closures-cross-crate.rs | ||
extern crate "unboxed-closures-cross-crate" as ubcc; | ||
|
||
fn main() { | ||
assert_eq!(ubcc::has_closures(), 2u); | ||
assert_eq!(ubcc::has_generic_closures(2u, 3u), 5u); | ||
} |
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from nick29581
at bkoropoff@bfa5320
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging bkoropoff/rust/unboxed-closures-cross-crate = bfa5320 into auto
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bkoropoff/rust/unboxed-closures-cross-crate = bfa5320 merged ok, testing candidate = 7dacb38b
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some tests failed:
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/2113
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/2112
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/2105
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/2112
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/2106
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/2105
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/2105
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/2109
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/2102
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/2101
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/2105
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/1757
exception: http://buildbot.rust-lang.org/builders/auto-win-64-opt/builds/602
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from nick29581
at bkoropoff@bfa5320
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging bkoropoff/rust/unboxed-closures-cross-crate = bfa5320 into auto
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bkoropoff/rust/unboxed-closures-cross-crate = bfa5320 merged ok, testing candidate = 98958bc
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all tests pass:
success: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/2122
success: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/2121
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/2114
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/2121
success: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/2115
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/2114
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/2114
success: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/2118
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/2111
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/2110
success: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/2114
success: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/1773
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/1766
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/1775
success: http://buildbot.rust-lang.org/builders/auto-win-64-opt/builds/612
success: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-t/builds/607
success: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-c/builds/600
bfa5320
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fast-forwarding master to auto = 98958bc