Background
Rust follows a traditional development lifecycle.
The development train is a nightly build.
In time, specific features in the nightly build are promoted to a beta build.
Later, specific features in the beta build are promoted to a stable build.
Once promoted to a stable build, the features are available to the general public.
Development Life Cycle
Concepts
Rust has extremely good documentation.
Both inhouse and through the development community.
Here is a good write-up of the primary concepts.
Terminology | Explanation | List | Command |
---|---|---|---|
Channel | Rust development are prepared for three different distribution streams. | Stable Beta Nightly |
|
Toolchain | Rust toolchains are complete installation of the Rust Compiler ( rustc ), rust utility tools ( rustup, cargo ), and the target host platform | stable-x86_64-pc-windows-msvc nightly-x86_64-pc-windows-msvc |
rustup target toolchain |
Target | Rust can run on various OS platforms. Rust relies on the OS Platforms toolkits ( standard and dynamic libaries ) during the development and actual execution of rust applications. | Stable Beta Nightly |
rustup target list |
Component | Rust development are prepared for three different distribution streams. | cargo-[OS] clippy-[OS] llvm-tools-[OS] rls-[OS] rust-analysis-[OS] rust-docs-[OS] rust-src rust-std-[OS] rustc-[OS] rustfmt-[OS] |
rustup component list |
Profile | Rust development are prepared for three different distribution streams. | minimal default complete |
|
Proxy | Wrappers which forwards Command Line Invocations ( CLI ) to a RUST Toolchain.
For instance rustup is a toolchain multiplexer. When requests are made and specifics are lacking, default configurations are read and used. |
Components
Features are packaged as components.
List
Let us list components.
To list components we will use the rustup tool.
The syntax is “rustup component list“.
Syntax
rustup component list
Sample
Sample – Target Stable Toolchain – Installed components
Targeting the stable toolchain, list installed components.
rustup component list --toolchain stable -installed
Output
Output – Image
Output – Text
>rustup component list --toolchain stable --installed cargo-x86_64-pc-windows-msvc clippy-x86_64-pc-windows-msvc llvm-tools-x86_64-pc-windows-msvc rls-x86_64-pc-windows-msvc rust-analysis-x86_64-pc-windows-msvc rust-docs-x86_64-pc-windows-msvc rust-src rust-std-i686-pc-windows-msvc rust-std-x86_64-pc-windows-msvc rustc-x86_64-pc-windows-msvc rustfmt-x86_64-pc-windows-msvc >
Sample – Target Stable Toolchain – Installed components
Targeting the nightly toolchain, list installed components.
rustup component list --toolchain nightly -installed
Output
Output – Image
Output – Text
>rustup component list --toolchain nightly --installed cargo-x86_64-pc-windows-msvc clippy-x86_64-pc-windows-msvc rust-docs-x86_64-pc-windows-msvc rust-std-x86_64-pc-windows-msvc rustc-x86_64-pc-windows-msvc rustfmt-x86_64-pc-windows-msvc >
Results – Tabulated
Processor | Component | Toolchain – Stable | Toolchain – Nightly | |
---|---|---|---|---|
x86_64 ( 64-bit ) | ||||
cargo-x86_64-pc-windows-msvc | Yes | Yes | ||
clippy-x86_64-pc-windows-msvc | Yes | Yes | ||
llvm-tools-x86_64-pc-windows-msvc | Yes | No | ||
rls-x86_64-pc-windows-msvc | Yes | No | ||
rust-analysis-x86_64-pc-windows-msvc | Yes | No | ||
rust-docs-x86_64-pc-windows-msvc | Yes | Yes | ||
rust-src | Yes | No | ||
rust-std-x86_64-pc-windows-msvc | Yes | Yes | ||
rustc-x86_64-pc-windows-msvc | Yes | Yes | ||
rustfmt-x86_64-githpc-windows-msvc | Yes | Yes | ||
i686 ( 32-bit ) | ||||
rust-std-i686-pc-windows-msvc | Yes | Yes and No |
References
- github.io
- Rust-Lang
- Concepts
- Components
Link
- Components
- Concepts
- Rust-Lang