diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/args/flags.rs | 30 | ||||
-rw-r--r-- | cli/args/mod.rs | 2 | ||||
-rw-r--r-- | cli/factory.rs | 6 | ||||
-rw-r--r-- | cli/worker.rs | 12 |
4 files changed, 29 insertions, 21 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs index de6358359..877b26de2 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -4042,18 +4042,23 @@ impl Iterator for UnstableArgsIter { }) .help_heading(UNSTABLE_HEADING) } else if self.idx > 3 { - let (flag_name, help, _) = - crate::UNSTABLE_GRANULAR_FLAGS.get(self.idx - 4)?; - Arg::new(format!("unstable-{}", flag_name)) - .long(format!("unstable-{}", flag_name)) - .help(help) + let granular_flag = crate::UNSTABLE_GRANULAR_FLAGS.get(self.idx - 4)?; + Arg::new(format!("unstable-{}", granular_flag.name)) + .long(format!("unstable-{}", granular_flag.name)) + .help(granular_flag.help_text) .action(ArgAction::SetTrue) .hide(true) .help_heading(UNSTABLE_HEADING) // we don't render long help, so using it here as a sort of metadata - .long_help(match self.cfg { - UnstableArgsConfig::None | UnstableArgsConfig::ResolutionOnly => None, - UnstableArgsConfig::ResolutionAndRuntime => Some("true"), + .long_help(if granular_flag.show_in_help { + match self.cfg { + UnstableArgsConfig::None | UnstableArgsConfig::ResolutionOnly => { + None + } + UnstableArgsConfig::ResolutionAndRuntime => Some("true"), + } + } else { + None }) } else { return None; @@ -5405,9 +5410,12 @@ fn unstable_args_parse( matches.get_flag("unstable-sloppy-imports"); if matches!(cfg, UnstableArgsConfig::ResolutionAndRuntime) { - for (name, _, _) in crate::UNSTABLE_GRANULAR_FLAGS { - if matches.get_flag(&format!("unstable-{}", name)) { - flags.unstable_config.features.push(name.to_string()); + for granular_flag in crate::UNSTABLE_GRANULAR_FLAGS { + if matches.get_flag(&format!("unstable-{}", granular_flag.name)) { + flags + .unstable_config + .features + .push(granular_flag.name.to_string()); } } } diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 056dcb2af..a6b547fd7 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -1669,7 +1669,7 @@ impl CliOptions { let mut all_valid_unstable_flags: Vec<&str> = crate::UNSTABLE_GRANULAR_FLAGS .iter() - .map(|granular_flag| granular_flag.0) + .map(|granular_flag| granular_flag.name) .collect(); let mut another_unstable_flags = Vec::from([ diff --git a/cli/factory.rs b/cli/factory.rs index 224984643..1d1639815 100644 --- a/cli/factory.rs +++ b/cli/factory.rs @@ -723,9 +723,9 @@ impl CliFactory { checker.warn_on_legacy_unstable(); } let unstable_features = cli_options.unstable_features(); - for (flag_name, _, _) in crate::UNSTABLE_GRANULAR_FLAGS { - if unstable_features.contains(&flag_name.to_string()) { - checker.enable_feature(flag_name); + for granular_flag in crate::UNSTABLE_GRANULAR_FLAGS { + if unstable_features.contains(&granular_flag.name.to_string()) { + checker.enable_feature(granular_flag.name); } } diff --git a/cli/worker.rs b/cli/worker.rs index 09aa1aec4..31a88ae4e 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -573,9 +573,9 @@ impl CliMainWorkerFactory { let feature_checker = shared.feature_checker.clone(); let mut unstable_features = Vec::with_capacity(crate::UNSTABLE_GRANULAR_FLAGS.len()); - for (feature_name, _, id) in crate::UNSTABLE_GRANULAR_FLAGS { - if feature_checker.check(feature_name) { - unstable_features.push(*id); + for granular_flag in crate::UNSTABLE_GRANULAR_FLAGS { + if feature_checker.check(granular_flag.name) { + unstable_features.push(granular_flag.id); } } @@ -771,9 +771,9 @@ fn create_web_worker_callback( let feature_checker = shared.feature_checker.clone(); let mut unstable_features = Vec::with_capacity(crate::UNSTABLE_GRANULAR_FLAGS.len()); - for (feature_name, _, id) in crate::UNSTABLE_GRANULAR_FLAGS { - if feature_checker.check(feature_name) { - unstable_features.push(*id); + for granular_flag in crate::UNSTABLE_GRANULAR_FLAGS { + if feature_checker.check(granular_flag.name) { + unstable_features.push(granular_flag.id); } } |