From fe8e043b8aaf77c083747bf11760f29b53df0bba Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sat, 1 Jan 2022 12:56:44 +0000 Subject: [PATCH] Add feature to enable use of `Option::or` in const context --- src/main.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 67b21322..a0d45666 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ #![forbid(unsafe_code)] +#![feature(const_option_ext)] #![cfg_attr(feature = "unstable", feature(ip))] // The recursion_limit is mainly triggered by the json!() macro. // The more key/value pairs there are the more recursion occurs. @@ -76,15 +77,7 @@ const HELP: &str = "\ -v, --version Prints the app version "; -// HACK: Option::or cannot be used in a constant context -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(); +pub const VERSION: Option<&str> = option_env!("BWRS_VERSION").or(option_env!("VW_VERSION")); fn parse_args() { let mut pargs = pico_args::Arguments::from_env();