]>
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" { | |
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 | } |