diff options
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_session/src/config.rs | 7 | ||||
| -rw-r--r-- | compiler/rustc_session/src/options.rs | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs index ab3c122053c..16b68d95858 100644 --- a/compiler/rustc_session/src/config.rs +++ b/compiler/rustc_session/src/config.rs @@ -833,6 +833,13 @@ impl Passes { Passes::All => false, } } + + pub fn extend(&mut self, passes: impl IntoIterator<Item = String>) { + match *self { + Passes::Some(ref mut v) => v.extend(passes), + Passes::All => {} + } + } } pub const fn default_lib_output() -> CrateType { diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index 4165e750df5..779f29e3dfe 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -567,7 +567,7 @@ mod parse { v => { let mut passes = vec![]; if parse_list(&mut passes, v) { - *slot = Passes::Some(passes); + slot.extend(passes); true } else { false |
