Module std::prelude [] [src]

The Rust Prelude

Rust comes with a variety of things in its standard library. However, if you had to manually import every single thing that you used, it would be very verbose. But importing a lot of things that a program never uses isn't good either. A balance needs to be struck.

The prelude is the list of things that Rust automatically imports into every Rust program. It's kept as small as possible, and is focused on things, particuarly traits, which are used in almost every single Rust program.

On a technical level, Rust inserts

fn main() { extern crate std; }
extern crate std;

into the crate root of every crate, and

fn main() { use std::prelude::v1::*; }
use std::prelude::v1::*;

into every module.

Other preludes

Preludes can be seen as a pattern to make using multiple types more convenient. As such, you'll find other preludes in the standard library, such as std::io::prelude. Various libraries in the Rust ecosystem may also define their own preludes.

The differece between 'the prelude' and these other preludes is that they are not automatically use'd, and must be imported manually. This is still easier than importing all of their consitutent components.

Prelude contents

The current version of the prelude (version 1) lives in std::prelude::v1, and reexports the following.

Modules

v1

The first version of the prelude of The Rust Standard Library.