Вантаж передає деякі метадані компілятору через змінні середовища, перелік яких можна знайти на сторінках вантажної документації .
Середовище компілятора заповнюється fill_env
кодом Cargo. Цей код став складнішим з попередніх версій, і весь перелік змінних вже не очевидний з нього, оскільки він може бути динамічним. Однак принаймні такі змінні встановлюються там (зі списку в документах):
CARGO_MANIFEST_DIR
CARGO_PKG_AUTHORS
CARGO_PKG_DESCRIPTION
CARGO_PKG_HOMEPAGE
CARGO_PKG_NAME
CARGO_PKG_REPOSITORY
CARGO_PKG_VERSION
CARGO_PKG_VERSION_MAJOR
CARGO_PKG_VERSION_MINOR
CARGO_PKG_VERSION_PATCH
CARGO_PKG_VERSION_PRE
Ви можете отримати доступ до змінних оточення за допомогою env!()
макросу. Щоб вставити номер версії програми, ви можете зробити це:
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION);
Якщо ви хочете, щоб ваша програма збиралася навіть без Cargo, ви можете використовувати option_env!()
:
const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION.unwrap_or("unknown"));