diff options
| author | Brian Koropoff <bkoropoff@gmail.com> | 2014-10-11 20:10:14 -0700 |
|---|---|---|
| committer | Brian Koropoff <bkoropoff@gmail.com> | 2014-10-16 17:29:44 -0700 |
| commit | a8f90bcb1871a8658375195f676d3706ab29a3a5 (patch) | |
| tree | 0aac47b5af730768f04a96aa904315b1dce645eb | |
| parent | 9094aabb12573c7a4de11144f3b80bf7126e6e1b (diff) | |
| download | rust-a8f90bcb1871a8658375195f676d3706ab29a3a5.tar.gz rust-a8f90bcb1871a8658375195f676d3706ab29a3a5.zip | |
Update test for issue 17780 since diagnostic message have changed
The test was also renamed to be more descriptive.
| -rw-r--r-- | src/test/compile-fail/borrow-immutable-upvar-mutation.rs (renamed from src/test/compile-fail/issue-17780.rs) | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/test/compile-fail/issue-17780.rs b/src/test/compile-fail/borrow-immutable-upvar-mutation.rs index 2072b2ee2d2..f748c400654 100644 --- a/src/test/compile-fail/issue-17780.rs +++ b/src/test/compile-fail/borrow-immutable-upvar-mutation.rs @@ -10,41 +10,32 @@ #![feature(unboxed_closures, overloaded_calls)] +// Tests that we can't assign to or mutably borrow upvars from `Fn` +// closures (issue #17780) + fn set(x: &mut uint) { *x = 5; } fn main() { // By-ref captures { let mut x = 0u; - let _f = |&:| x = 42; - //~^ ERROR cannot assign to data in a free - // variable from an immutable unboxed closure + let _f = |&:| x = 42; //~ ERROR cannot assign let mut y = 0u; - let _g = |&:| set(&mut y); - //~^ ERROR cannot borrow data mutably in a free - // variable from an immutable unboxed closure + let _g = |&:| set(&mut y); //~ ERROR cannot borrow let mut z = 0u; - let _h = |&mut:| { set(&mut z); |&:| z = 42; }; - //~^ ERROR cannot assign to data in a - // free variable from an immutable unboxed closure + let _h = |&mut:| { set(&mut z); |&:| z = 42; }; //~ ERROR cannot assign } // By-value captures { let mut x = 0u; - let _f = move |&:| x = 42; - //~^ ERROR cannot assign to data in a free - // variable from an immutable unboxed closure + let _f = move |&:| x = 42; //~ ERROR cannot assign let mut y = 0u; - let _g = move |&:| set(&mut y); - //~^ ERROR cannot borrow data mutably in a free - // variable from an immutable unboxed closure + let _g = move |&:| set(&mut y); //~ ERROR cannot borrow let mut z = 0u; - let _h = move |&mut:| { set(&mut z); move |&:| z = 42; }; - //~^ ERROR cannot assign to data in a free - // variable from an immutable unboxed closure + let _h = move |&mut:| { set(&mut z); move |&:| z = 42; }; //~ ERROR cannot assign } } |
