mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-31 17:12:53 +00:00
Add a regression test for #87573
This commit is contained in:
parent
d914f17ca7
commit
8f6fa4f548
28
src/test/ui/lang-items/issue-87573.rs
Normal file
28
src/test/ui/lang-items/issue-87573.rs
Normal 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(){}
|
21
src/test/ui/lang-items/issue-87573.stderr
Normal file
21
src/test/ui/lang-items/issue-87573.stderr
Normal 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`.
|
Loading…
Reference in New Issue
Block a user