From 3a19df20daefa3ab62a356d9a2c603d0e396fdd4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Esteban=20K=C3=BCber?= Date: Mon, 22 Apr 2019 12:11:46 -0700 Subject: [PATCH] review comments: deduplicate tests --- src/test/ui/c-variadic/variadic-ffi-3.rs | 29 ------- src/test/ui/c-variadic/variadic-ffi-3.stderr | 76 ------------------- .../ui/structs/struct-base-wrong-type-2.rs | 19 ----- .../structs/struct-base-wrong-type-2.stderr | 21 ----- src/test/ui/structs/struct-base-wrong-type.rs | 10 --- .../ui/structs/struct-base-wrong-type.stderr | 8 +- 6 files changed, 4 insertions(+), 159 deletions(-) delete mode 100644 src/test/ui/c-variadic/variadic-ffi-3.rs delete mode 100644 src/test/ui/c-variadic/variadic-ffi-3.stderr delete mode 100644 src/test/ui/structs/struct-base-wrong-type-2.rs delete mode 100644 src/test/ui/structs/struct-base-wrong-type-2.stderr diff --git a/src/test/ui/c-variadic/variadic-ffi-3.rs b/src/test/ui/c-variadic/variadic-ffi-3.rs deleted file mode 100644 index c02d1f54e56..00000000000 --- a/src/test/ui/c-variadic/variadic-ffi-3.rs +++ /dev/null @@ -1,29 +0,0 @@ -extern { - fn foo(f: isize, x: u8, ...); - //~^ defined here - //~| defined here -} - -extern "C" fn bar(f: isize, x: u8) {} - -fn main() { - unsafe { - foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied - foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied - - let x: unsafe extern "C" fn(f: isize, x: u8) = foo; - //~^ ERROR: mismatched types - //~| expected type `unsafe extern "C" fn(isize, u8)` - - let y: extern "C" fn(f: isize, x: u8, ...) = bar; - //~^ ERROR: mismatched types - //~| expected type `for<'r> extern "C" fn(isize, u8, std::ffi::VaList<'r>, ...)` - - foo(1, 2, 3f32); //~ ERROR can't pass `f32` to variadic function - foo(1, 2, true); //~ ERROR can't pass `bool` to variadic function - foo(1, 2, 1i8); //~ ERROR can't pass `i8` to variadic function - foo(1, 2, 1u8); //~ ERROR can't pass `u8` to variadic function - foo(1, 2, 1i16); //~ ERROR can't pass `i16` to variadic function - foo(1, 2, 1u16); //~ ERROR can't pass `u16` to variadic function - } -} diff --git a/src/test/ui/c-variadic/variadic-ffi-3.stderr b/src/test/ui/c-variadic/variadic-ffi-3.stderr deleted file mode 100644 index 28762252572..00000000000 --- a/src/test/ui/c-variadic/variadic-ffi-3.stderr +++ /dev/null @@ -1,76 +0,0 @@ -error[E0060]: this function takes at least 2 parameters but 0 parameters were supplied - --> $DIR/variadic-ffi-3.rs:11:9 - | -LL | fn foo(f: isize, x: u8, ...); - | ----------------------------- defined here -... -LL | foo(); - | ^^^^^ expected at least 2 parameters - -error[E0060]: this function takes at least 2 parameters but 1 parameter was supplied - --> $DIR/variadic-ffi-3.rs:12:9 - | -LL | fn foo(f: isize, x: u8, ...); - | ----------------------------- defined here -... -LL | foo(1); - | ^^^^^^ expected at least 2 parameters - -error[E0308]: mismatched types - --> $DIR/variadic-ffi-3.rs:14:56 - | -LL | let x: unsafe extern "C" fn(f: isize, x: u8) = foo; - | ^^^ expected non-variadic fn, found variadic function - | - = note: expected type `unsafe extern "C" fn(isize, u8)` - found type `for<'r> unsafe extern "C" fn(isize, u8, std::ffi::VaList<'r>, ...) {foo}` - -error[E0308]: mismatched types - --> $DIR/variadic-ffi-3.rs:18:54 - | -LL | let y: extern "C" fn(f: isize, x: u8, ...) = bar; - | ^^^ expected variadic fn, found non-variadic function - | - = note: expected type `for<'r> extern "C" fn(isize, u8, std::ffi::VaList<'r>, ...)` - found type `extern "C" fn(isize, u8) {bar}` - -error[E0617]: can't pass `f32` to variadic function - --> $DIR/variadic-ffi-3.rs:22:19 - | -LL | foo(1, 2, 3f32); - | ^^^^ help: cast the value to `c_double`: `3f32 as c_double` - -error[E0617]: can't pass `bool` to variadic function - --> $DIR/variadic-ffi-3.rs:23:19 - | -LL | foo(1, 2, true); - | ^^^^ help: cast the value to `c_int`: `true as c_int` - -error[E0617]: can't pass `i8` to variadic function - --> $DIR/variadic-ffi-3.rs:24:19 - | -LL | foo(1, 2, 1i8); - | ^^^ help: cast the value to `c_int`: `1i8 as c_int` - -error[E0617]: can't pass `u8` to variadic function - --> $DIR/variadic-ffi-3.rs:25:19 - | -LL | foo(1, 2, 1u8); - | ^^^ help: cast the value to `c_uint`: `1u8 as c_uint` - -error[E0617]: can't pass `i16` to variadic function - --> $DIR/variadic-ffi-3.rs:26:19 - | -LL | foo(1, 2, 1i16); - | ^^^^ help: cast the value to `c_int`: `1i16 as c_int` - -error[E0617]: can't pass `u16` to variadic function - --> $DIR/variadic-ffi-3.rs:27:19 - | -LL | foo(1, 2, 1u16); - | ^^^^ help: cast the value to `c_uint`: `1u16 as c_uint` - -error: aborting due to 10 previous errors - -Some errors have detailed explanations: E0060, E0308, E0617. -For more information about an error, try `rustc --explain E0060`. diff --git a/src/test/ui/structs/struct-base-wrong-type-2.rs b/src/test/ui/structs/struct-base-wrong-type-2.rs deleted file mode 100644 index 562f75b8e85..00000000000 --- a/src/test/ui/structs/struct-base-wrong-type-2.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Check that `base` in `Fru { field: expr, ..base }` must have right type. -// -// See also struct-base-wrong-type.rs, which tests same condition -// within a const expression. - -struct Foo { a: isize, b: isize } -struct Bar { x: isize } - -fn main() { - let b = Bar { x: 5 }; - let f = Foo { a: 2, ..b }; //~ ERROR mismatched types - //~| expected type `Foo` - //~| found type `Bar` - //~| expected struct `Foo`, found struct `Bar` - let f__isize = Foo { a: 2, ..4 }; //~ ERROR mismatched types - //~| expected type `Foo` - //~| found type `{integer}` - //~| expected struct `Foo`, found integer -} diff --git a/src/test/ui/structs/struct-base-wrong-type-2.stderr b/src/test/ui/structs/struct-base-wrong-type-2.stderr deleted file mode 100644 index d02ed205e92..00000000000 --- a/src/test/ui/structs/struct-base-wrong-type-2.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type-2.rs:11:27 - | -LL | let f = Foo { a: 2, ..b }; - | ^ expected struct `Foo`, found struct `Bar` - | - = note: expected type `Foo` - found type `Bar` - -error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type-2.rs:15:34 - | -LL | let f__isize = Foo { a: 2, ..4 }; - | ^ expected struct `Foo`, found integer - | - = note: expected type `Foo` - found type `{integer}` - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/structs/struct-base-wrong-type.rs b/src/test/ui/structs/struct-base-wrong-type.rs index 58aa35046d9..b64c6b49936 100644 --- a/src/test/ui/structs/struct-base-wrong-type.rs +++ b/src/test/ui/structs/struct-base-wrong-type.rs @@ -1,24 +1,14 @@ // Check that `base` in `Fru { field: expr, ..base }` must have right type. -// -// See also struct-base-wrong-type-2.rs, which tests same condition -// within a function body. struct Foo { a: isize, b: isize } struct Bar { x: isize } static bar: Bar = Bar { x: 5 }; static foo: Foo = Foo { a: 2, ..bar }; //~ ERROR mismatched types - //~| expected type `Foo` - //~| found type `Bar` - //~| expected struct `Foo`, found struct `Bar` static foo_i: Foo = Foo { a: 2, ..4 }; //~ ERROR mismatched types - //~| expected type `Foo` - //~| found type `{integer}` - //~| expected struct `Foo`, found integer fn main() { let b = Bar { x: 5 }; - // See also struct-base-wrong-type-2.rs, which checks these errors on isolation. let f = Foo { a: 2, ..b }; //~ ERROR mismatched types let f__isize = Foo { a: 2, ..4 }; //~ ERROR mismatched types } diff --git a/src/test/ui/structs/struct-base-wrong-type.stderr b/src/test/ui/structs/struct-base-wrong-type.stderr index 00c2e1e0dd5..a0216305f31 100644 --- a/src/test/ui/structs/struct-base-wrong-type.stderr +++ b/src/test/ui/structs/struct-base-wrong-type.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type.rs:10:33 + --> $DIR/struct-base-wrong-type.rs:7:33 | LL | static foo: Foo = Foo { a: 2, ..bar }; | ^^^ expected struct `Foo`, found struct `Bar` @@ -8,7 +8,7 @@ LL | static foo: Foo = Foo { a: 2, ..bar }; found type `Bar` error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type.rs:14:35 + --> $DIR/struct-base-wrong-type.rs:8:35 | LL | static foo_i: Foo = Foo { a: 2, ..4 }; | ^ expected struct `Foo`, found integer @@ -17,7 +17,7 @@ LL | static foo_i: Foo = Foo { a: 2, ..4 }; found type `{integer}` error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type.rs:22:27 + --> $DIR/struct-base-wrong-type.rs:12:27 | LL | let f = Foo { a: 2, ..b }; | ^ expected struct `Foo`, found struct `Bar` @@ -26,7 +26,7 @@ LL | let f = Foo { a: 2, ..b }; found type `Bar` error[E0308]: mismatched types - --> $DIR/struct-base-wrong-type.rs:23:34 + --> $DIR/struct-base-wrong-type.rs:13:34 | LL | let f__isize = Foo { a: 2, ..4 }; | ^ expected struct `Foo`, found integer -- 2.44.0