Skip to content

Commit

Permalink
Update test for issue 17780 since diagnostic message have changed
Browse files Browse the repository at this point in the history
The test was also renamed to be more descriptive.
  • Loading branch information
bkoropoff committed Oct 17, 2014
1 parent 9094aab commit a8f90bc
Showing 1 changed file with 9 additions and 18 deletions.
Expand Up @@ -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
}
}

0 comments on commit a8f90bc

Please sign in to comment.