change borrowck error msg: 'declared in outer block' -> 'captured in a closure' (properly this time)

This commit is contained in:
Ben Blum 2012-07-09 13:56:47 -04:00
parent e41029d236
commit 8ffab392ab
8 changed files with 12 additions and 10 deletions

View file

@ -467,7 +467,9 @@ impl to_str_methods for borrowck_ctxt {
cat_special(sk_method) { "method" }
cat_special(sk_static_item) { "static item" }
cat_special(sk_self) { "self reference" }
cat_special(sk_heap_upvar) { "variable declared in an outer block" }
cat_special(sk_heap_upvar) {
"captured outer variable in a heap closure"
}
cat_rvalue { "non-lvalue" }
cat_local(_) { mut_str + " local variable" }
cat_binding(_) { "pattern binding" }
@ -475,7 +477,7 @@ impl to_str_methods for borrowck_ctxt {
cat_deref(_, _, pk) { #fmt["dereference of %s %s pointer",
mut_str, self.pk_to_sigil(pk)] }
cat_stack_upvar(_) {
mut_str + " variable declared in an outer block"
"captured outer " + mut_str + " variable in a stack closure"
}
cat_comp(_, comp_field(*)) { mut_str + " field" }
cat_comp(_, comp_tuple) { "tuple content" }

View file

@ -1,4 +1,4 @@
// error-pattern:moving out of immutable variable declared in an outer block
// error-pattern:moving out of captured outer immutable variable in a stack closure
fn force(f: fn()) { f(); }
fn main() {
let mut x = @{x: 17, y: 2};

View file

@ -63,7 +63,7 @@ fn loop_in_block() {
let mut v = ~3, w = ~4;
let mut _x = &mut w;
for uint::range(0u, 10u) |_i| {
borrow(v); //~ ERROR loan of mutable variable declared in an outer block as immutable conflicts with prior loan
borrow(v); //~ ERROR loan of captured outer mutable variable in a stack closure as immutable conflicts with prior loan
_x = &mut v; //~ NOTE prior loan as mutable granted here
}
}
@ -77,7 +77,7 @@ fn at_most_once_block() {
let mut v = ~3, w = ~4;
let mut _x = &mut w;
do at_most_once {
borrow(v); //~ ERROR loan of mutable variable declared in an outer block as immutable conflicts with prior loan
borrow(v); //~ ERROR loan of captured outer mutable variable in a stack closure as immutable conflicts with prior loan
_x = &mut v; //~ NOTE prior loan as mutable granted here
}
}

View file

@ -5,7 +5,7 @@ fn borrow(v: &int, f: fn(x: &int)) {
fn box_imm() {
let mut v = ~3;
do borrow(v) |w| { //~ NOTE loan of mutable local variable granted here
v = ~4; //~ ERROR assigning to mutable variable declared in an outer block prohibited due to outstanding loan
v = ~4; //~ ERROR assigning to captured outer mutable variable in a stack closure prohibited due to outstanding loan
assert *v == 3;
assert *w == 4;
}

View file

@ -1,7 +1,7 @@
fn main() {
let x = 5;
let _y = fn~(move x) -> int {
let _z = fn~(move x) -> int { x }; //~ ERROR moving out of variable declared in an outer block
let _z = fn~(move x) -> int { x }; //~ ERROR moving out of captured outer variable in a heap closure
22
};
}

View file

@ -1,4 +1,4 @@
// error-pattern:moving out of immutable variable declared in an outer block
// error-pattern:moving out of captured outer immutable variable in a stack closure
fn test(-x: uint) {}
fn main() {

View file

@ -1,4 +1,4 @@
// error-pattern:assigning to immutable variable declared in an outer block
// error-pattern:assigning to captured outer immutable variable in a stack closure
// Make sure that nesting a block within a fn@ doesn't let us
// mutate upvars from a fn@.
fn f2(x: fn()) { x(); }

View file

@ -1,4 +1,4 @@
// error-pattern:assigning to variable declared in an outer block
// error-pattern:assigning to captured outer variable in a heap closure
// Make sure we can't write to upvars from fn@s
fn main() {
let i = 0;