Crates

Un crate es una unidad de compilación en Rust. Siempre que se llama a rustc algun_archivo.rs, algun_archivo.rs se trata como el archivo crate. Si algun_archivo.rs tiene declaraciones mod, entonces el contenido de los archivos del módulo se insertará en los lugares donde se encuentran las declaraciones mod en el archivo crate, antes de ejecutar el compilador sobre él. En otras palabras, los módulos no se compilan individualmente, solo se compilan los crates.

Un crate se puede compilar en un binario o en una biblioteca. De forma predeterminada, rustc producirá un binario a partir de un crate. Este comportamiento se puede anular pasando la bandera --crate-type a lib.