about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/interface.rs
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2023-05-12 10:02:12 +0200
committerRalf Jung <post@ralfj.de>2023-05-12 10:02:12 +0200
commit154c7a5e91ff9ebf8ab08d8f7db30ed2070e56a5 (patch)
treed3d8993e7fca57a6930649c863d6f6b37c86a3bf /compiler/rustc_interface/src/interface.rs
parent01937562505363962cf7a5c45a81d82cfe79dd4f (diff)
parent0b795044c6f0854445f1f2bb6443e87848e150d1 (diff)
downloadrust-154c7a5e91ff9ebf8ab08d8f7db30ed2070e56a5.tar.gz
rust-154c7a5e91ff9ebf8ab08d8f7db30ed2070e56a5.zip
Merge from rustc
Diffstat (limited to 'compiler/rustc_interface/src/interface.rs')
-rw-r--r--compiler/rustc_interface/src/interface.rs11
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 {