mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-20 02:43:45 +00:00
move tests to borrowck directory, remove feature(nll)
now compare-mode can show us the differences
This commit is contained in:
parent
4e50c5b6e4
commit
58e4b54bd4
@ -1,5 +1,5 @@
|
||||
error[E0381]: use of possibly uninitialized variable: `x`
|
||||
--> $DIR/assign_mutable_fields.rs:31:10
|
||||
--> $DIR/assign_mutable_fields.rs:29:10
|
||||
|
|
||||
LL | drop(x); //~ ERROR
|
||||
| ^ use of possibly uninitialized `x`
|
@ -14,14 +14,12 @@
|
||||
//
|
||||
// FIXME(#21232)
|
||||
|
||||
#![feature(nll)]
|
||||
|
||||
fn assign_both_fields_and_use() {
|
||||
let mut x: (u32, u32);
|
||||
x.0 = 1;
|
||||
x.1 = 22;
|
||||
drop(x.0);
|
||||
drop(x.1);
|
||||
drop(x.0); //~ ERROR
|
||||
drop(x.1); //~ ERROR
|
||||
}
|
||||
|
||||
fn assign_both_fields_the_use_var() {
|
21
src/test/ui/borrowck/assign_mutable_fields.stderr
Normal file
21
src/test/ui/borrowck/assign_mutable_fields.stderr
Normal file
@ -0,0 +1,21 @@
|
||||
error[E0381]: use of possibly uninitialized variable: `x.0`
|
||||
--> $DIR/assign_mutable_fields.rs:21:10
|
||||
|
|
||||
LL | drop(x.0); //~ ERROR
|
||||
| ^^^ use of possibly uninitialized `x.0`
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x.1`
|
||||
--> $DIR/assign_mutable_fields.rs:22:10
|
||||
|
|
||||
LL | drop(x.1); //~ ERROR
|
||||
| ^^^ use of possibly uninitialized `x.1`
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x`
|
||||
--> $DIR/assign_mutable_fields.rs:29:10
|
||||
|
|
||||
LL | drop(x); //~ ERROR
|
||||
| ^ use of possibly uninitialized `x`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0381`.
|
@ -1,5 +1,5 @@
|
||||
error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields.rs:19:5
|
||||
--> $DIR/reassignment_immutable_fields.rs:17:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -7,7 +7,7 @@ LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.1`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields.rs:20:5
|
||||
--> $DIR/reassignment_immutable_fields.rs:18:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -16,7 +16,7 @@ LL | x.1 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields.rs:27:5
|
||||
--> $DIR/reassignment_immutable_fields.rs:25:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -24,7 +24,7 @@ LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.1`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields.rs:28:5
|
||||
--> $DIR/reassignment_immutable_fields.rs:26:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -33,7 +33,7 @@ LL | x.1 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot assign
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x`
|
||||
--> $DIR/reassignment_immutable_fields.rs:29:10
|
||||
--> $DIR/reassignment_immutable_fields.rs:27:10
|
||||
|
|
||||
LL | drop(x); //~ ERROR
|
||||
| ^ use of possibly uninitialized `x`
|
@ -12,14 +12,12 @@
|
||||
//
|
||||
// FIXME(#21232)
|
||||
|
||||
#![feature(nll)]
|
||||
|
||||
fn assign_both_fields_and_use() {
|
||||
let x: (u32, u32);
|
||||
x.0 = 1; //~ ERROR
|
||||
x.1 = 22; //~ ERROR
|
||||
drop(x.0);
|
||||
drop(x.1);
|
||||
drop(x.0); //~ ERROR
|
||||
drop(x.1); //~ ERROR
|
||||
}
|
||||
|
||||
fn assign_both_fields_the_use_var() {
|
56
src/test/ui/borrowck/reassignment_immutable_fields.stderr
Normal file
56
src/test/ui/borrowck/reassignment_immutable_fields.stderr
Normal file
@ -0,0 +1,56 @@
|
||||
error[E0594]: cannot assign to field `x.0` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields.rs:17:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.1` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields.rs:18:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
LL | x.1 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x.0`
|
||||
--> $DIR/reassignment_immutable_fields.rs:19:10
|
||||
|
|
||||
LL | drop(x.0); //~ ERROR
|
||||
| ^^^ use of possibly uninitialized `x.0`
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x.1`
|
||||
--> $DIR/reassignment_immutable_fields.rs:20:10
|
||||
|
|
||||
LL | drop(x.1); //~ ERROR
|
||||
| ^^^ use of possibly uninitialized `x.1`
|
||||
|
||||
error[E0594]: cannot assign to field `x.0` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields.rs:25:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.1` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields.rs:26:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
LL | x.1 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0381]: use of possibly uninitialized variable: `x`
|
||||
--> $DIR/reassignment_immutable_fields.rs:27:10
|
||||
|
|
||||
LL | drop(x); //~ ERROR
|
||||
| ^ use of possibly uninitialized `x`
|
||||
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
Some errors occurred: E0381, E0594.
|
||||
For more information about an error, try `rustc --explain E0381`.
|
@ -1,5 +1,5 @@
|
||||
error[E0594]: cannot assign to `x.a`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:24:5
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:22:5
|
||||
|
|
||||
LL | let x: Foo;
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -7,7 +7,7 @@ LL | x.a = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.b`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:25:5
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:23:5
|
||||
|
|
||||
LL | let x: Foo;
|
||||
| - help: consider changing this to be mutable: `mut x`
|
@ -12,8 +12,6 @@
|
||||
// overlapping, so since `x` is not `mut` we should not permit
|
||||
// reassignment.
|
||||
|
||||
#![feature(nll)]
|
||||
|
||||
union Foo {
|
||||
a: u32,
|
||||
b: u32,
|
@ -0,0 +1,20 @@
|
||||
error[E0594]: cannot assign to field `x.a` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:22:5
|
||||
|
|
||||
LL | let x: Foo;
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.a = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.b` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_overlapping.rs:23:5
|
||||
|
|
||||
LL | let x: Foo;
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.a = 1; //~ ERROR
|
||||
LL | x.b = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0594`.
|
@ -1,5 +1,5 @@
|
||||
error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:19:5
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:17:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -8,7 +8,7 @@ LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:24:5
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:22:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -16,7 +16,7 @@ LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.0`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:25:5
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:23:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
||||
@ -25,7 +25,7 @@ LL | x.0 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot assign
|
||||
|
||||
error[E0594]: cannot assign to `x.1`, as `x` is not declared as mutable
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:26:5
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:24:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - help: consider changing this to be mutable: `mut x`
|
@ -11,8 +11,6 @@
|
||||
// This should never be allowed -- since `x` is not `mut`, so `x.0`
|
||||
// cannot be assigned twice.
|
||||
|
||||
#![feature(nll)]
|
||||
|
||||
fn var_then_field() {
|
||||
let x: (u32, u32);
|
||||
x = (22, 44);
|
@ -0,0 +1,38 @@
|
||||
error[E0594]: cannot assign to field `x.0` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:17:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x = (22, 44);
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.0` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:22:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
| ^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.0` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:23:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
LL | x.0 = 1; //~ ERROR
|
||||
LL | x.0 = 22; //~ ERROR
|
||||
| ^^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error[E0594]: cannot assign to field `x.1` of immutable binding
|
||||
--> $DIR/reassignment_immutable_fields_twice.rs:24:5
|
||||
|
|
||||
LL | let x: (u32, u32);
|
||||
| - consider changing this to `mut x`
|
||||
...
|
||||
LL | x.1 = 44; //~ ERROR
|
||||
| ^^^^^^^^ cannot mutably borrow field of immutable binding
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0594`.
|
@ -1,19 +1,19 @@
|
||||
error[E0384]: cannot assign to immutable argument `y`
|
||||
error[E0594]: cannot assign to `*y`, as `y` is not declared as mutable
|
||||
--> $DIR/immut-function-arguments.rs:15:5
|
||||
|
|
||||
LL | fn f(y: Box<isize>) {
|
||||
| - consider changing this to `mut y`
|
||||
| - help: consider changing this to be mutable: `mut y`
|
||||
LL | *y = 5; //[ast]~ ERROR cannot assign
|
||||
| ^^^^^^ cannot assign to immutable argument
|
||||
| ^^^^^^ cannot assign
|
||||
|
||||
error[E0384]: cannot assign to immutable argument `q`
|
||||
error[E0594]: cannot assign to `*q`, as `q` is not declared as mutable
|
||||
--> $DIR/immut-function-arguments.rs:20:35
|
||||
|
|
||||
LL | let _frob = |q: Box<isize>| { *q = 2; }; //[ast]~ ERROR cannot assign
|
||||
| - ^^^^^^ cannot assign to immutable argument
|
||||
| - ^^^^^^ cannot assign
|
||||
| |
|
||||
| consider changing this to `mut q`
|
||||
| help: consider changing this to be mutable: `mut q`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0384`.
|
||||
For more information about this error, try `rustc --explain E0594`.
|
||||
|
@ -1,19 +1,19 @@
|
||||
error[E0384]: cannot assign to immutable argument `y`
|
||||
error[E0594]: cannot assign to `*y`, as `y` is not declared as mutable
|
||||
--> $DIR/immut-function-arguments.rs:15:5
|
||||
|
|
||||
LL | fn f(y: Box<isize>) {
|
||||
| - consider changing this to `mut y`
|
||||
| - help: consider changing this to be mutable: `mut y`
|
||||
LL | *y = 5; //[ast]~ ERROR cannot assign
|
||||
| ^^^^^^ cannot assign to immutable argument
|
||||
| ^^^^^^ cannot assign
|
||||
|
||||
error[E0384]: cannot assign to immutable argument `q`
|
||||
error[E0594]: cannot assign to `*q`, as `q` is not declared as mutable
|
||||
--> $DIR/immut-function-arguments.rs:20:35
|
||||
|
|
||||
LL | let _frob = |q: Box<isize>| { *q = 2; }; //[ast]~ ERROR cannot assign
|
||||
| - ^^^^^^ cannot assign to immutable argument
|
||||
| - ^^^^^^ cannot assign
|
||||
| |
|
||||
| consider changing this to `mut q`
|
||||
| help: consider changing this to be mutable: `mut q`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0384`.
|
||||
For more information about this error, try `rustc --explain E0594`.
|
||||
|
@ -1,14 +1,11 @@
|
||||
error[E0384]: cannot assign twice to immutable variable `nyan`
|
||||
error[E0594]: cannot assign to `nyan.how_hungry`, as `nyan` is not declared as mutable
|
||||
--> $DIR/mutable-class-fields.rs:28:3
|
||||
|
|
||||
LL | let nyan : cat = cat(52, 99);
|
||||
| ----
|
||||
| |
|
||||
| first assignment to `nyan`
|
||||
| consider changing this to `mut nyan`
|
||||
| ---- help: consider changing this to be mutable: `mut nyan`
|
||||
LL | nyan.how_hungry = 0; //[ast]~ ERROR cannot assign
|
||||
| ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
|
||||
| ^^^^^^^^^^^^^^^^^^^ cannot assign
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0384`.
|
||||
For more information about this error, try `rustc --explain E0594`.
|
||||
|
@ -1,14 +1,11 @@
|
||||
error[E0384]: cannot assign twice to immutable variable `nyan`
|
||||
error[E0594]: cannot assign to `nyan.how_hungry`, as `nyan` is not declared as mutable
|
||||
--> $DIR/mutable-class-fields.rs:28:3
|
||||
|
|
||||
LL | let nyan : cat = cat(52, 99);
|
||||
| ----
|
||||
| |
|
||||
| first assignment to `nyan`
|
||||
| consider changing this to `mut nyan`
|
||||
| ---- help: consider changing this to be mutable: `mut nyan`
|
||||
LL | nyan.how_hungry = 0; //[ast]~ ERROR cannot assign
|
||||
| ^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
|
||||
| ^^^^^^^^^^^^^^^^^^^ cannot assign
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0384`.
|
||||
For more information about this error, try `rustc --explain E0594`.
|
||||
|
Loading…
Reference in New Issue
Block a user