-
Notifications
You must be signed in to change notification settings - Fork 12.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add failure tests for moving out of unboxed closure environments
- Loading branch information
Showing
1 changed file
with
44 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,44 @@ | ||
// 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)] | ||
|
||
// Tests that we can't move out of an unboxed closure environment | ||
// if the upvar is captured by ref or the closure takes self by | ||
// reference. | ||
|
||
fn main() { | ||
// By-ref cases | ||
{ | ||
let x = box 0u; | ||
let f = |&:| drop(x); //~ cannot move | ||
} | ||
{ | ||
let x = box 0u; | ||
let f = |&mut:| drop(x); //~ cannot move | ||
} | ||
{ | ||
let x = box 0u; | ||
let f = |:| drop(x); //~ cannot move | ||
} | ||
// By-value cases | ||
{ | ||
let x = box 0u; | ||
let f = move |&:| drop(x); //~ cannot move | ||
} | ||
{ | ||
let x = box 0u; | ||
let f = move |&mut:| drop(x); //~ cannot move | ||
} | ||
{ | ||
let x = box 0u; | ||
let f = move |:| drop(x); // this one is ok | ||
} | ||
} |
29d160f
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 nikomatsakis
at bkoropoff@29d160f
29d160f
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/bound-all-the-upvars = 29d160f into auto
29d160f
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/bound-all-the-upvars = 29d160f merged ok, testing candidate = 3c4ac883
29d160f
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/1804
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/1803
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/1796
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/1803
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/1798
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/1797
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/1797
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/1801
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/1795
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/1794
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/1797
exception: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/1453
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/1452
exception: http://buildbot.rust-lang.org/builders/auto-win-64-opt/builds/291
exception: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-t/builds/292
exception: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-c/builds/284
29d160f
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 nikomatsakis
at bkoropoff@29d160f
29d160f
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/bound-all-the-upvars = 29d160f into auto
29d160f
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/bound-all-the-upvars = 29d160f merged ok, testing candidate = 1470e762
29d160f
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/1809
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/1808
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/1801
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/1808
29d160f
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 nikomatsakis
at bkoropoff@29d160f
29d160f
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/bound-all-the-upvars = 29d160f into auto
29d160f
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/bound-all-the-upvars = 29d160f merged ok, testing candidate = 583ae91
29d160f
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:
failure: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-t/builds/303
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/1816
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/1815
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/1808
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/1815
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/1809
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/1808
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/1808
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/1812
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/1806
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/1805
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/1808
exception: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/1463
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/1463
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/1465
exception: http://buildbot.rust-lang.org/builders/auto-win-64-opt/builds/302
exception: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-c/builds/295
29d160f
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 nikomatsakis
at bkoropoff@29d160f
29d160f
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/bound-all-the-upvars = 29d160f into auto
29d160f
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/bound-all-the-upvars = 29d160f merged ok, testing candidate = 6475613c
29d160f
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:
failure: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-t/builds/309
exception: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/1822
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/1821
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/1814
exception: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/1821
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/1815
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/1814
exception: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/1814
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/1818
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/1812
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/1811
exception: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/1814
exception: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/1469
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/1469
exception: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/1471
exception: http://buildbot.rust-lang.org/builders/auto-win-64-opt/builds/308
exception: http://buildbot.rust-lang.org/builders/auto-win-64-nopt-c/builds/301
29d160f
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 nikomatsakis
at bkoropoff@29d160f
29d160f
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/bound-all-the-upvars = 29d160f into auto
29d160f
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/bound-all-the-upvars = 29d160f into auto failed