diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/lang-items/lang-item-generic-requirements.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/lang-items/lang-item-generic-requirements.rs')
-rw-r--r-- | src/test/ui/lang-items/lang-item-generic-requirements.rs | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/test/ui/lang-items/lang-item-generic-requirements.rs b/src/test/ui/lang-items/lang-item-generic-requirements.rs deleted file mode 100644 index 3d33adf68..000000000 --- a/src/test/ui/lang-items/lang-item-generic-requirements.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Checks that declaring a lang item with the wrong number of generic arguments errors rather than -// crashing (issue #83474, #83893, #87573, part of #9307, #79559). - -#![feature(lang_items, no_core)] -#![no_core] - -#[lang = "sized"] -trait MySized {} - -#[lang = "add"] -trait MyAdd<'a, T> {} -//~^^ ERROR: `add` language item must be applied to a trait with 1 generic argument [E0718] - -#[lang = "drop_in_place"] -//~^ ERROR `drop_in_place` language item must be applied to a function with at least 1 generic -fn my_ptr_drop() {} - -#[lang = "index"] -trait MyIndex<'a, T> {} -//~^^ ERROR: `index` language item must be applied to a trait with 1 generic argument [E0718] - -#[lang = "phantom_data"] -//~^ ERROR `phantom_data` language item must be applied to a struct with 1 generic argument -struct MyPhantomData<T, U>; - -#[lang = "owned_box"] -//~^ ERROR `owned_box` language item must be applied to a struct with at least 1 generic argument -struct Foo; - -// When the `start` lang item is missing generics very odd things can happen, especially when -// it comes to cross-crate monomorphization -#[lang = "start"] -//~^ ERROR `start` language item must be applied to a function with 1 generic argument [E0718] -fn start(_: *const u8, _: isize, _: *const *const u8) -> isize { - 0 -} - -fn ice() { - // Use add - let r = 5; - let a = 6; - r + a; - - // Use drop in place - my_ptr_drop(); - - // Use index - let arr = [0; 5]; - let _ = arr[2]; - - // Use phantomdata - let _ = MyPhantomData::<(), i32>; - - // Use Foo - let _: () = Foo; -} - -// use `start` -fn main() {} |