diff options
| author | Yuki Okushi <yuki.okushi@huawei.com> | 2021-11-17 03:52:38 +0900 |
|---|---|---|
| committer | Yuki Okushi <yuki.okushi@huawei.com> | 2021-11-17 03:52:38 +0900 |
| commit | 8f6fa4f548a57d11b93e8c9a1f20628783d6e4d7 (patch) | |
| tree | 1c42299526c0c03f8340a7e304793ed425f42c5c /src/test | |
| parent | d914f17ca71a33a89b2dc3436fca51b1a091559e (diff) | |
| download | rust-8f6fa4f548a57d11b93e8c9a1f20628783d6e4d7.tar.gz rust-8f6fa4f548a57d11b93e8c9a1f20628783d6e4d7.zip | |
Add a regression test for #87573
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/lang-items/issue-87573.rs | 28 | ||||
| -rw-r--r-- | src/test/ui/lang-items/issue-87573.stderr | 21 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/test/ui/lang-items/issue-87573.rs b/src/test/ui/lang-items/issue-87573.rs new file mode 100644 index 00000000000..aeb0c245a72 --- /dev/null +++ b/src/test/ui/lang-items/issue-87573.rs @@ -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(){} diff --git a/src/test/ui/lang-items/issue-87573.stderr b/src/test/ui/lang-items/issue-87573.stderr new file mode 100644 index 00000000000..25560cfa0e6 --- /dev/null +++ b/src/test/ui/lang-items/issue-87573.stderr @@ -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`. |
