Add feature to enable use of `Option::or` in const context
This commit is contained in:
parent
687435c8b2
commit
fe8e043b8a
11
src/main.rs
11
src/main.rs
|
@ -1,4 +1,5 @@
|
||||||
#![forbid(unsafe_code)]
|
#![forbid(unsafe_code)]
|
||||||
|
#![feature(const_option_ext)]
|
||||||
#![cfg_attr(feature = "unstable", feature(ip))]
|
#![cfg_attr(feature = "unstable", feature(ip))]
|
||||||
// The recursion_limit is mainly triggered by the json!() macro.
|
// The recursion_limit is mainly triggered by the json!() macro.
|
||||||
// The more key/value pairs there are the more recursion occurs.
|
// The more key/value pairs there are the more recursion occurs.
|
||||||
|
@ -76,15 +77,7 @@ const HELP: &str = "\
|
||||||
-v, --version Prints the app version
|
-v, --version Prints the app version
|
||||||
";
|
";
|
||||||
|
|
||||||
// HACK: Option::or cannot be used in a constant context
|
pub const VERSION: Option<&str> = option_env!("BWRS_VERSION").or(option_env!("VW_VERSION"));
|
||||||
const fn get_version() -> Option<&'static str> {
|
|
||||||
let bwrs_version = option_env!("BWRS_VERSION");
|
|
||||||
match bwrs_version {
|
|
||||||
Some(_) => bwrs_version,
|
|
||||||
None => option_env!("VW_VERSION"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pub const VERSION: Option<&str> = get_version();
|
|
||||||
|
|
||||||
fn parse_args() {
|
fn parse_args() {
|
||||||
let mut pargs = pico_args::Arguments::from_env();
|
let mut pargs = pico_args::Arguments::from_env();
|
||||||
|
|
Loading…
Reference in New Issue