rust/examples/mini_core_hello_world.rs

30 lines
584 B
Rust
Raw Normal View History

// Adapted from https://github.com/sunfishcode/mir2cranelift/blob/master/rust-examples/nocore-hello-world.rs
2018-08-11 07:52:00 -05:00
#![feature(no_core, unboxed_closures, start, lang_items)]
#![no_core]
2018-08-11 07:52:00 -05:00
#![no_main]
#![allow(dead_code)]
extern crate mini_core;
use mini_core::*;
#[link(name = "c")]
extern "C" {}
extern "C" {
fn puts(s: *const u8);
}
2018-08-13 11:31:26 -05:00
static NUM: u8 = 6 * 7;
2018-08-11 07:52:00 -05:00
#[lang = "start"]
fn start(_main: *const u8, i: isize, _: *const *const u8) -> isize {
unsafe {
let (ptr, _): (*const u8, usize) = intrinsics::transmute("Hello!\0");
puts(ptr);
}
2018-08-13 11:31:26 -05:00
NUM as isize
}