Skip to content

Commit

Permalink
Add regression test for issue #17780
Browse files Browse the repository at this point in the history
  • Loading branch information
bkoropoff committed Oct 5, 2014
1 parent 16b27bb commit 4d2ff43
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/test/compile-fail/issue-17780.rs
@@ -0,0 +1,50 @@
// 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)]

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 mut y = 0u;
let _g = |&:| set(&mut y);
//~^ ERROR cannot borrow data mutably in a free
// variable from an immutable unboxed closure

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
}
// 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 mut y = 0u;
let _g = move |&:| set(&mut y);
//~^ ERROR cannot borrow data mutably in a free
// variable from an immutable unboxed closure

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
}
}

5 comments on commit 4d2ff43

@bors
Copy link
Contributor

@bors bors commented on 4d2ff43 Oct 9, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saw approval from pcwalton
at bkoropoff@4d2ff43

@bors
Copy link
Contributor

@bors bors commented on 4d2ff43 Oct 9, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merging bkoropoff/rust/issue-17780 = 4d2ff43 into auto

@bors
Copy link
Contributor

@bors bors commented on 4d2ff43 Oct 9, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bkoropoff/rust/issue-17780 = 4d2ff43 merged ok, testing candidate = 1b46b00

@bors
Copy link
Contributor

@bors bors commented on 4d2ff43 Oct 9, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bors
Copy link
Contributor

@bors bors commented on 4d2ff43 Oct 9, 2014

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 = 1b46b00

Please sign in to comment.