Rust’s standard library is two-tiered: there’s a small core library,
libcore, and the full standard library,
libstd, that builds on top of it.
libcore is completely platform agnostic, and requires only a handful of
external symbols to be defined. Rust’s
libstd builds on top of
adding support for things like memory allocation and I/O. Applications using
Rust in the embedded space, as well as those writing operating systems, often
libstd, using only
As an additional note, while building libraries with
libcore is supported
today, building full applications is not yet stable.
libcore, add this flag to your crate root:
This will remove the standard library, and bring the
core crate into your
namespace for use:
#![no_std] use core::cell::Cell;
You can find
libcore's documentation here.