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);
//~^ ERROR the type placeholder `_` is not allowed within types on item signatures
trait Test4 {
const TEST4: _ = 42;
const TEST4: fn() -> _ = 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
}
struct Test5;
struct Test6;
impl Test5 {
const TEST5: _ = 13;
impl Test6 {
const TEST6: _ = 13;
//~^ 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>`
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
| help: replace `_` with the correct type: `i32`
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
| 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`.