]> git.lizzy.rs Git - rust.git/blob - tests/run/abort1.rs
Initial commit
[rust.git] / tests / run / abort1.rs
1 // Compiler:
2 //
3 // Run-time:
4 //   status: signal
5
6 #![feature(auto_traits, lang_items, no_core, start, intrinsics)]
7
8 #![no_std]
9 #![no_core]
10
11 /*
12  * Core
13  */
14
15 // Because we don't have core yet.
16 #[lang = "sized"]
17 pub trait Sized {}
18
19 #[lang = "copy"]
20 trait Copy {
21 }
22
23 impl Copy for isize {}
24
25 #[lang = "receiver"]
26 trait Receiver {
27 }
28
29 #[lang = "freeze"]
30 pub(crate) unsafe auto trait Freeze {}
31
32 mod intrinsics {
33     use super::Sized;
34
35     extern "rust-intrinsic" {
36         pub fn abort() -> !;
37     }
38 }
39
40 /*
41  * Code
42  */
43
44 fn test_fail() -> ! {
45     unsafe { intrinsics::abort() };
46 }
47
48 #[start]
49 fn main(mut argc: isize, _argv: *const *const u8) -> isize {
50     test_fail();
51 }