diff options
| author | Zalathar <Zalathar@users.noreply.github.com> | 2024-11-08 12:20:51 +1100 |
|---|---|---|
| committer | Zalathar <Zalathar@users.noreply.github.com> | 2024-11-08 12:46:39 +1100 |
| commit | 584c8200de3c83078d7cbb271a16ef4962be761e (patch) | |
| tree | 2e1c41bb183f471910791db13b641a4195ed4f7f | |
| parent | 8f7f9b93b2cf1f16d4ded534ff14ce9a673177c0 (diff) | |
| download | rust-584c8200de3c83078d7cbb271a16ef4962be761e.tar.gz rust-584c8200de3c83078d7cbb271a16ef4962be761e.zip | |
Use a method to apply `RustcOptGroup` to `getopts::Options`
| -rw-r--r-- | compiler/rustc_driver_impl/src/lib.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_interface/src/tests.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_session/src/config.rs | 6 | ||||
| -rw-r--r-- | src/librustdoc/lib.rs | 4 |
4 files changed, 11 insertions, 7 deletions
diff --git a/compiler/rustc_driver_impl/src/lib.rs b/compiler/rustc_driver_impl/src/lib.rs index d2c4335cf2b..78ba841d89f 100644 --- a/compiler/rustc_driver_impl/src/lib.rs +++ b/compiler/rustc_driver_impl/src/lib.rs @@ -937,7 +937,7 @@ fn usage(verbose: bool, include_unstable_options: bool, nightly_build: bool) { let groups = if verbose { config::rustc_optgroups() } else { config::rustc_short_optgroups() }; let mut options = getopts::Options::new(); for option in groups.iter().filter(|x| include_unstable_options || x.is_stable()) { - (option.apply)(&mut options); + option.apply(&mut options); } let message = "Usage: rustc [OPTIONS] INPUT"; let nightly_help = if nightly_build { @@ -1219,7 +1219,7 @@ pub fn handle_options(early_dcx: &EarlyDiagCtxt, args: &[String]) -> Option<geto let mut options = getopts::Options::new(); let optgroups = config::rustc_optgroups(); for option in &optgroups { - (option.apply)(&mut options); + option.apply(&mut options); } let matches = options.parse(args).unwrap_or_else(|e| { let msg: Option<String> = match e { @@ -1233,7 +1233,7 @@ pub fn handle_options(early_dcx: &EarlyDiagCtxt, args: &[String]) -> Option<geto optgroups.iter().find(|option| option.name == opt).map(|option| { // Print the help just for the option in question. let mut options = getopts::Options::new(); - (option.apply)(&mut options); + option.apply(&mut options); // getopt requires us to pass a function for joining an iterator of // strings, even though in this case we expect exactly one string. options.usage_with_format(|it| { diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/src/tests.rs index ce90ceeda56..2361231b3fb 100644 --- a/compiler/rustc_interface/src/tests.rs +++ b/compiler/rustc_interface/src/tests.rs @@ -102,7 +102,7 @@ where fn optgroups() -> getopts::Options { let mut opts = getopts::Options::new(); for group in rustc_optgroups() { - (group.apply)(&mut opts); + group.apply(&mut opts); } return opts; } diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs index fe05605c1b9..0c4827ef54d 100644 --- a/compiler/rustc_session/src/config.rs +++ b/compiler/rustc_session/src/config.rs @@ -1373,7 +1373,7 @@ enum OptionStability { } pub struct RustcOptGroup { - pub apply: Box<dyn Fn(&mut getopts::Options) -> &mut getopts::Options>, + apply: Box<dyn Fn(&mut getopts::Options) -> &mut getopts::Options>, pub name: &'static str, stability: OptionStability, } @@ -1383,6 +1383,10 @@ impl RustcOptGroup { self.stability == OptionStability::Stable } + pub fn apply(&self, options: &mut getopts::Options) { + (self.apply)(options); + } + pub fn stable<F>(name: &'static str, f: F) -> RustcOptGroup where F: Fn(&mut getopts::Options) -> &mut getopts::Options + 'static, diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 7c9dcd41e6a..40e649915cf 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -685,7 +685,7 @@ fn opts() -> Vec<RustcOptGroup> { fn usage(argv0: &str) { let mut options = getopts::Options::new(); for option in opts() { - (option.apply)(&mut options); + option.apply(&mut options); } println!("{}", options.usage(&format!("{argv0} [options] <input>"))); println!(" @path Read newline separated options from `path`\n"); @@ -769,7 +769,7 @@ fn main_args( let mut options = getopts::Options::new(); for option in opts() { - (option.apply)(&mut options); + option.apply(&mut options); } let matches = match options.parse(&args) { Ok(m) => m, |
