29 lines
629 B
Rust
29 lines
629 B
Rust
// 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` lang item must be applied to a function with at least 1 generic argument
|
|
fn drop_fn() {
|
|
while false {}
|
|
}
|
|
|
|
#[lang = "start"]
|
|
//~^ ERROR: `start` lang item must be applied to a function with 1 generic argument
|
|
fn start(){}
|