rust_toolchain/lib.rs
1//! # rust-toolchain
2//!
3//! The [`rust-toolchain`] crate defines a set of types which model a Rust toolchain.
4//!
5//! While there is no definitive spec which defines what a "Rust toolchain" is,
6//! it tries to follow official Rust sources as closely as possible.
7//!
8//! The project is currently primarily modelled around the rough [`toolchain`]
9//! specification written by the [`rustup`] developers. For now, we have disregarded
10//! custom toolchains altogether though, both in the name of simplicity, and because
11//! the current users didn't really need it yet. If you would like to see it added,
12//! please open an issue (preferably including your use case :)).
13//!
14//! This project is part of the [`rust-releases`] and [`cargo-msrv`] projects.
15//!
16//! In case you have a feature request, question, bug, or have another reason to
17//! contact the developers, please create a new issue at the `rust-releases` [`repository`].
18//!
19//! [`rust-toolchain`]: https://docs.rs/rust-toolchain/latest/rust_toolchain/
20//! [`rustup`]: https://github.com/rust-lang/rustup
21//! [`toolchain`]: https://rust-lang.github.io/rustup/concepts/toolchains.html
22//! [`rust-releases`]: https://github.com/foresterre/rust-releases
23//! [`cargo-msrv`]: https://github.com/foresterre/cargo-msrv
24//! [`repository`]: https://github.com/foresterre/rust-releases/issues
25// #![deny(missing_docs)]
26#![warn(clippy::all)]
27#![deny(unsafe_code)]
28#![deny(missing_docs)]
29
30/// Rust release channels, such as stable, beta and nightly.
31pub mod channel;
32mod component;
33mod date;
34mod target;
35mod toolchain;
36mod version;
37
38pub use channel::Channel;
39pub use component::Component;
40pub use date::Date;
41pub use target::Target;
42pub use toolchain::Toolchain;
43pub use version::RustVersion;