The Rust core library

The Rust core library provides runtime features required by the language, including the task scheduler and memory allocators, as well as library support for Rust built-in types, platform abstractions, and other commonly used features.

core includes modules corresponding to each of the integer types, each of the floating point types, the bool type, tuples, characters, strings (str), vectors (vec), managed boxes (managed), owned boxes (owned), and unsafe and borrowed pointers (ptr). Additionally, core provides pervasive types (option and result), task creation and communication primitives (task, comm), platform abstractions (os and path), basic I/O abstractions (io), common traits (kinds, ops, cmp, num, to_str), and complete bindings to the C standard library (libc).

Core injection and the Rust prelude

core is imported at the topmost level of every crate by default, as if the first line of each crate was

extern mod core;

This means that the contents of core can be accessed from from any context with the core:: path prefix, as in use core::vec, use core::task::spawn, etc.

Additionally, core contains a prelude module that reexports many of the most common core modules, types and traits. The contents of the prelude are imported inte every module by default. Implicitly, all modules behave as if they contained the following prologue:

use core::prelude::*;