diff options
| author | Urgau <urgau@numericable.fr> | 2023-05-06 18:26:53 +0200 |
|---|---|---|
| committer | Urgau <urgau@numericable.fr> | 2023-05-06 18:40:47 +0200 |
| commit | f4ca42f573e3a8bd9bb5099efa0285855b77367f (patch) | |
| tree | 8a5288d1d17c6e1fe09e9d3953723ac93f37da0e /compiler/rustc_interface/src | |
| parent | 4b94c232192b0fa0314b5afa18e366356e210c4c (diff) | |
| download | rust-f4ca42f573e3a8bd9bb5099efa0285855b77367f.tar.gz rust-f4ca42f573e3a8bd9bb5099efa0285855b77367f.zip | |
Fix --check-cfg bug with args order when parsing
Diffstat (limited to 'compiler/rustc_interface/src')
| -rw-r--r-- | compiler/rustc_interface/src/interface.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler/rustc_interface/src/interface.rs b/compiler/rustc_interface/src/interface.rs index 9d9f4ee13f4..51354c2b127 100644 --- a/compiler/rustc_interface/src/interface.rs +++ b/compiler/rustc_interface/src/interface.rs @@ -173,12 +173,21 @@ pub fn parse_check_cfg(specs: Vec<String>) -> CheckCfg { let expected_values = check_cfg .expecteds .entry(ident.name.to_string()) + .and_modify(|expected_values| match expected_values { + ExpectedValues::Some(_) => {} + ExpectedValues::Any => { + // handle the case where names(...) was done + // before values by changing to a list + *expected_values = + ExpectedValues::Some(FxHashSet::default()); + } + }) .or_insert_with(|| { ExpectedValues::Some(FxHashSet::default()) }); let ExpectedValues::Some(expected_values) = expected_values else { - bug!("shoudn't be possible") + bug!("`expected_values` should be a list a values") }; for val in values { |
