blob: 1fa3ad98092a857c8e5f4b13331d704ce959eff3 [file] [log] [blame] [view] [edit]
A crate is a compilation unit in Rust. Whenever `rustc some_file.rs` is called,
`some_file.rs` is treated as the *crate file*. If `some_file.rs` has `mod`
declarations in it, then the contents of the module files will get merged with
the crate file *before* running the compiler over it. In other words, modules
do *not* get compiled individually, only crates get compiled.
A crate can be compiled into a binary or into a library. By default, `rustc`
will produce a binary from a crate. This behavior can be overridden by passing
the `--crate-type` flag to `rustc`.