Fold rustfix tests back into the UI test suite
This commit is contained in:
parent
a563027cb8
commit
6f2d023028
29 changed files with 223 additions and 80 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()>) {
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
16
src/test/ui/suggestions/issue-45562.fixed
Normal file
16
src/test/ui/suggestions/issue-45562.fixed
Normal 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() {}
|
||||
|
|
@ -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]
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
| ---------^^^^^^^^^^^^^^^^
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
|
|||
21
src/test/ui/suggestions/missing-comma-in-match.fixed
Normal file
21
src/test/ui/suggestions/missing-comma-in-match.fixed
Normal 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
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
16
src/test/ui/suggestions/str-as-char.fixed
Normal file
16
src/test/ui/suggestions/str-as-char.fixed
Normal 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
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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!('●●');
|
||||
| ^^^^
|
||||
|
|
|
|||
16
src/test/ui/suggestions/tuple-float-index.fixed
Normal file
16
src/test/ui/suggestions/tuple-float-index.fixed
Normal 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`
|
||||
}
|
||||
|
|
@ -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 () {
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
| ------------^^^
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue