sugar for dynamic allocations via `malloc` and `free`:
```
-#![feature(lang_items, box_syntax, start, no_std)]
+#![feature(lang_items, box_syntax, start, no_std, libc)]
#![no_std]
extern crate libc;
in the same format as C:
```
-#![feature(lang_items, start, no_std)]
+#![feature(lang_items, start, no_std, libc)]
#![no_std]
// Pull in the system libc library for what crt0.o likely requires
vectors provided from C, using idiomatic Rust practices.
```
-#![feature(lang_items, start, no_std)]
+#![feature(lang_items, start, no_std, core, libc)]
#![no_std]
# extern crate libc;
This is pretty complex! we can see the output
- ```rust
+```rust,ignore
#![feature(trace_macros)]
macro_rules! bct {
bct!(0, 0, 1, 1, 1 ; 1, 0, 1);
}
+```
This will print out a wall of text:
--- /dev/null
+% Unstable Rust
use iter::{ExactSizeIterator};
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, IntoIterator};
use mem;
-use ops::{Deref, FnOnce};
+use ops::FnOnce;
use result::Result::{Ok, Err};
use result::Result;
#[allow(deprecated)]
assert_eq!(opt_none.clone(), None);
assert_eq!(opt_none.cloned(), None);
- // Mutable refs work
- assert_eq!(opt_mut_ref.cloned(), Some(2u32));
-
// Immutable ref works
assert_eq!(opt_ref.clone(), Some(&val1));
assert_eq!(opt_ref.cloned(), Some(1u32));
#![allow(non_camel_case_types)]
-#![feature(core)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(alloc)]
#![feature(collections)]
-#![feature(core)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(staged_api)]