]>
Commit | Line | Data |
---|---|---|
c295e0f8 XL |
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" { | |
353b0b11 | 36 | #[rustc_safe_intrinsic] |
c295e0f8 XL |
37 | pub fn abort() -> !; |
38 | } | |
39 | } | |
40 | ||
41 | /* | |
42 | * Code | |
43 | */ | |
44 | ||
45 | fn fail() -> i32 { | |
46 | unsafe { intrinsics::abort() }; | |
47 | 0 | |
48 | } | |
49 | ||
50 | #[start] | |
51 | fn main(mut argc: isize, _argv: *const *const u8) -> isize { | |
52 | fail(); | |
53 | 0 | |
54 | } |