move tests to borrowck directory, remove feature(nll)

now compare-mode can show us the differences
This commit is contained in:
Niko Matsakis 2018-08-14 08:24:44 -04:00
parent 4e50c5b6e4
commit 58e4b54bd4
16 changed files with 173 additions and 52 deletions

View file

@ -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`

View file

@ -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() {

View 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`.

View file

@ -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`

View file

@ -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() {

View 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`.

View file

@ -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`

View file

@ -12,8 +12,6 @@
// overlapping, so since `x` is not `mut` we should not permit
// reassignment.
#![feature(nll)]
union Foo {
a: u32,
b: u32,

View file

@ -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`.

View file

@ -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`

View file

@ -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);

View file

@ -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`.

View file

@ -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`.

View file

@ -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`.

View file

@ -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`.

View file

@ -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`.