1
Fork 0

Rollup merge of #81509 - 0yoyoyo:fix-issue-72685-ice-drop-in-place, r=estebank

Add a regression test for ICE of bad_placeholder_type

Add a regression test for #72685. Check the error message is output instead of ICE.
This commit is contained in:
Jonas Schievink 2021-01-31 01:47:39 +01:00 committed by GitHub
commit c74f0045a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 10 deletions

View file

@ -10,15 +10,18 @@ const TEST2: _ = 42u32;
const TEST3: _ = Some(42); const TEST3: _ = Some(42);
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
trait Test4 { const TEST4: fn() -> _ = 42;
const TEST4: _ = 42; //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
trait Test5 {
const TEST5: _ = 42;
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
} }
struct Test5; struct Test6;
impl Test5 { impl Test6 {
const TEST5: _ = 13; const TEST6: _ = 13;
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures //~^ ERROR the type placeholder `_` is not allowed within types on item signatures
} }

View file

@ -26,23 +26,32 @@ LL | const TEST3: _ = Some(42);
| help: replace `_` with the correct type: `Option<i32>` | help: replace `_` with the correct type: `Option<i32>`
error[E0121]: the type placeholder `_` is not allowed within types on item signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures
--> $DIR/typeck_type_placeholder_item_help.rs:14:18 --> $DIR/typeck_type_placeholder_item_help.rs:13:22
| |
LL | const TEST4: _ = 42; LL | const TEST4: fn() -> _ = 42;
| ^
| |
| not allowed in type signatures
| help: use type parameters instead: `T`
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
--> $DIR/typeck_type_placeholder_item_help.rs:17:18
|
LL | const TEST5: _ = 42;
| ^ | ^
| | | |
| not allowed in type signatures | not allowed in type signatures
| help: replace `_` with the correct type: `i32` | help: replace `_` with the correct type: `i32`
error[E0121]: the type placeholder `_` is not allowed within types on item signatures error[E0121]: the type placeholder `_` is not allowed within types on item signatures
--> $DIR/typeck_type_placeholder_item_help.rs:21:18 --> $DIR/typeck_type_placeholder_item_help.rs:24:18
| |
LL | const TEST5: _ = 13; LL | const TEST6: _ = 13;
| ^ | ^
| | | |
| not allowed in type signatures | not allowed in type signatures
| help: replace `_` with the correct type: `i32` | help: replace `_` with the correct type: `i32`
error: aborting due to 5 previous errors error: aborting due to 6 previous errors
For more information about this error, try `rustc --explain E0121`. For more information about this error, try `rustc --explain E0121`.