Expand description
This crate provides macros for getting compile time information.
You can get the compile time either as
time::Date, time::Time,
time::OffsetDateTime, string, or UNIX timestamp.
You can get the Rust compiler version either as
semver::Version or string,
and the individual version parts as integer literals or strings, respectively.
You can run arbitrary command at compile time and get its output as bytes or string.
§Examples
Getting the compile time and Rust version:
const COMPILE_DATETIME: &str = compile_time::datetime_str!();
const RUSTC_VERSION: &str = compile_time::rustc_version_str!();
println!("Compiled using Rust {RUSTC_VERSION} on {COMPILE_DATETIME}.");Running an arbitrary command at compile time:
const MAGIC_NUMBER: &str = compile_time::command_str!("echo", "42");
assert_eq!(MAGIC_NUMBER, "42\n");Macros§
- command_
bytes - Runs the given command and returns its standard output as a
&'static [u8]. - command_
str - Runs the given command and returns its standard output as a
&'static str. - date
- Returns the compile date as
time::Date. - date_
str - Returns the compile date as
&'static strinyyyy-MM-ddformat. - datetime
- Returns the compile date and time as
time::OffsetDateTime. - datetime_
str - Returns the compile date and time as
&'static strinyyyy-MM-ddThh:mm:ssZformat. - rustc_
version - Returns the Rust compiler version as [
semver::Version]. - rustc_
version_ build - Returns the Rust compiler build version as a
&'static str. - rustc_
version_ major - Returns the Rust compiler major version as integer literal.
- rustc_
version_ minor - Returns the Rust compiler minor version as integer literal.
- rustc_
version_ patch - Returns the Rust compiler patch version as integer literal.
- rustc_
version_ pre - Returns the Rust compiler pre version as
&'static str. - rustc_
version_ str - Returns the Rust compiler version as
&'static str. - time
- Returns the compile time as
time::Time. - time_
str - Returns the compile time as
&'static strinhh:mm:ssformat. - unix
- Returns the compile date and time as UNIX timestamp in seconds.