Rollup merge of #90956 - JohnTitor:issue-87573, r=Mark-Simulacrum

Add a regression test for #87573

Closes #87573
This commit is contained in:
Matthias Krüger 2021-11-20 01:09:40 +01:00 committed by GitHub
commit 5c98cf145d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 0 deletions

View file

@ -0,0 +1,28 @@
// Regression test for #87573, ensures that duplicate lang items or invalid generics
// for lang items doesn't cause ICE.
#![feature(no_core, lang_items)]
#![no_core]
#![crate_type = "lib"]
pub static STATIC_BOOL: bool = true;
#[lang = "sized"]
trait Sized {}
#[lang = "copy"]
trait Copy {}
#[lang = "sync"]
trait Sync {}
impl Sync for bool {}
#[lang = "drop_in_place"]
//~^ ERROR: `drop_in_place` language item must be applied to a function with at least 1 generic argument
fn drop_fn() {
while false {}
}
#[lang = "start"]
//~^ ERROR: `start` language item must be applied to a function with 1 generic argument
fn start(){}

View file

@ -0,0 +1,21 @@
error[E0718]: `drop_in_place` language item must be applied to a function with at least 1 generic argument
--> $DIR/issue-87573.rs:20:1
|
LL | #[lang = "drop_in_place"]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
LL |
LL | fn drop_fn() {
| - this function has 0 generic arguments
error[E0718]: `start` language item must be applied to a function with 1 generic argument
--> $DIR/issue-87573.rs:26:1
|
LL | #[lang = "start"]
| ^^^^^^^^^^^^^^^^^
LL |
LL | fn start(){}
| - this function has 0 generic arguments
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0718`.