Fold rustfix tests back into the UI test suite

This commit is contained in:
Alex Crichton 2018-05-03 11:26:58 -07:00
parent a563027cb8
commit 6f2d023028
29 changed files with 223 additions and 80 deletions

View file

@ -0,0 +1,22 @@
// Copyright 2017 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.
// run-rustfix
// Point at the captured immutable outer variable
fn foo(mut f: Box<FnMut()>) {
f();
}
fn main() {
let mut y = true;
foo(Box::new(move || y = false) as Box<_>); //~ ERROR cannot assign to captured outer variable
}

View file

@ -0,0 +1,22 @@
// Copyright 2017 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.
// run-rustfix
// Point at the captured immutable outer variable
fn foo(mut f: Box<FnMut()>) {
f();
}
fn main() {
let y = true;
foo(Box::new(move || y = false) as Box<_>); //~ ERROR cannot assign to captured outer variable
}

View file

@ -1,5 +1,5 @@
error[E0594]: cannot assign to immutable item `y`
--> $DIR/closure-immutable-outer-variable.rs:19:26
--> $DIR/closure-immutable-outer-variable.rs:21:26
|
LL | foo(Box::new(move || y = false) as Box<_>); //~ ERROR cannot assign to captured outer variable
| ^^^^^^^^^ cannot mutate

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
// Point at the captured immutable outer variable
fn foo(mut f: Box<FnMut()>) {

View file

@ -1,5 +1,5 @@
error[E0594]: cannot assign to captured outer variable in an `FnMut` closure
--> $DIR/closure-immutable-outer-variable.rs:19:26
--> $DIR/closure-immutable-outer-variable.rs:21:26
|
LL | let y = true;
| - help: consider making `y` mutable: `mut y`

View file

@ -0,0 +1,16 @@
// Copyright 2018 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.
// run-rustfix
#[no_mangle] pub static RAH: usize = 5;
//~^ ERROR const items should never be #[no_mangle]
fn main() {}

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
#[no_mangle] pub const RAH: usize = 5;
//~^ ERROR const items should never be #[no_mangle]

View file

@ -1,5 +1,5 @@
error: const items should never be #[no_mangle]
--> $DIR/issue-45562.rs:11:14
--> $DIR/issue-45562.rs:13:14
|
LL | #[no_mangle] pub const RAH: usize = 5;
| ---------^^^^^^^^^^^^^^^^

View file

@ -0,0 +1,15 @@
// Copyright 2017 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.
// run-rustfix
extern crate std as other_std;
fn main() {}
//~^^ ERROR the name `std` is defined multiple times [E0259]

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
extern crate std;
fn main() {}
//~^^ ERROR the name `std` is defined multiple times [E0259]

View file

@ -1,5 +1,5 @@
error[E0259]: the name `std` is defined multiple times
--> $DIR/issue-45799-bad-extern-crate-rename-suggestion-formatting.rs:11:1
--> $DIR/issue-45799-bad-extern-crate-rename-suggestion-formatting.rs:13:1
|
LL | extern crate std;
| ^^^^^^^^^^^^^^^^^ `std` reimported here

View file

@ -0,0 +1,26 @@
// Copyright 2017 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.
// run-rustfix
#![allow(unused)]
fn light_flows_our_war_of_mocking_words(and_yet: &usize) -> usize {
and_yet + 1
}
fn main() {
let behold: isize = 2;
let with_tears: usize = 3;
light_flows_our_war_of_mocking_words(&(behold as usize));
//~^ ERROR mismatched types [E0308]
light_flows_our_war_of_mocking_words(&(with_tears + 4));
//~^ ERROR mismatched types [E0308]
}

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
#![allow(unused)]
fn light_flows_our_war_of_mocking_words(and_yet: &usize) -> usize {

View file

@ -1,5 +1,5 @@
error[E0308]: mismatched types
--> $DIR/issue-46756-consider-borrowing-cast-or-binexpr.rs:20:42
--> $DIR/issue-46756-consider-borrowing-cast-or-binexpr.rs:22:42
|
LL | light_flows_our_war_of_mocking_words(behold as usize);
| ^^^^^^^^^^^^^^^
@ -11,7 +11,7 @@ LL | light_flows_our_war_of_mocking_words(behold as usize);
found type `usize`
error[E0308]: mismatched types
--> $DIR/issue-46756-consider-borrowing-cast-or-binexpr.rs:22:42
--> $DIR/issue-46756-consider-borrowing-cast-or-binexpr.rs:24:42
|
LL | light_flows_our_war_of_mocking_words(with_tears + 4);
| ^^^^^^^^^^^^^^

View file

@ -0,0 +1,21 @@
// Copyright 2018 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.
// run-rustfix
fn main() {
match &Some(3) {
&None => 1,
&Some(2) => { 3 }
//~^ ERROR expected one of `,`, `.`, `?`, `}`, or an operator, found `=>`
//~| NOTE expected one of `,`, `.`, `?`, `}`, or an operator here
_ => 2
};
}

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
fn main() {
match &Some(3) {
&None => 1

View file

@ -1,5 +1,5 @@
error: expected one of `,`, `.`, `?`, `}`, or an operator, found `=>`
--> $DIR/missing-comma-in-match.rs:14:18
--> $DIR/missing-comma-in-match.rs:16:18
|
LL | &None => 1
| - help: missing a comma here to end this `match` arm

View file

@ -0,0 +1,16 @@
// Copyright 2017 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.
// run-rustfix
fn main() {
println!("●●");
//~^ ERROR character literal may only contain one codepoint
}

View file

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
fn main() {
println!('');
//~^ ERROR character literal may only contain one codepoint

View file

@ -1,5 +1,5 @@
error: character literal may only contain one codepoint
--> $DIR/str-as-char.rs:12:14
--> $DIR/str-as-char.rs:14:14
|
LL | println!('●●');
| ^^^^

View file

@ -0,0 +1,16 @@
// Copyright 2012 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.
// run-rustfix
// compile-flags: -Z parse-only
fn main () {
((1, (2, 3)).1).1; //~ ERROR unexpected token: `1.1`
}

View file

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// run-rustfix
// compile-flags: -Z parse-only
fn main () {

View file

@ -1,5 +1,5 @@
error: unexpected token: `1.1`
--> $DIR/tuple-float-index.rs:14:17
--> $DIR/tuple-float-index.rs:15:17
|
LL | (1, (2, 3)).1.1; //~ ERROR unexpected token: `1.1`
| ------------^^^

View file

@ -26,7 +26,6 @@ if [[ "$1" == "--help" || "$1" == "-h" || "$1" == "" || "$2" == "" ]]; then
echo " $0 ../../../build/x86_64-apple-darwin/test/ui *.rs */*.rs"
fi
MYDIR=$(dirname $0)
BUILD_DIR="$1"
shift
@ -34,7 +33,8 @@ shift
shopt -s nullglob
while [[ "$1" != "" ]]; do
for EXT in "stderr" "stdout"; do
MYDIR=$(dirname $1)
for EXT in "stderr" "stdout" "fixed"; do
for OUT_NAME in $BUILD_DIR/${1%.rs}.*$EXT; do
OUT_BASE=`basename "$OUT_NAME"`
if ! (diff $OUT_NAME $MYDIR/$OUT_BASE >& /dev/null); then