about summary refs log tree commit diff
path: root/compiler/rustc_expand
diff options
context:
space:
mode:
authorUrgau <urgau@numericable.fr>2024-09-18 17:44:32 +0200
committerUrgau <urgau@numericable.fr>2024-10-01 10:01:09 +0200
commit57b9b1f9745a56943cc0aebc4c3ec487945f044e (patch)
tree54688059c287db2d7f2a33ed6205fe9b3673ab4d /compiler/rustc_expand
parentc3ce4e66a5732a5b89c9f495b44357bf6b29d424 (diff)
downloadrust-57b9b1f9745a56943cc0aebc4c3ec487945f044e.tar.gz
rust-57b9b1f9745a56943cc0aebc4c3ec487945f044e.zip
Use `ast::NestedMetaItem` when evaluating cfg predicate
Diffstat (limited to 'compiler/rustc_expand')
-rw-r--r--compiler/rustc_expand/src/config.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/rustc_expand/src/config.rs b/compiler/rustc_expand/src/config.rs
index 32088374277..8ea4f901368 100644
--- a/compiler/rustc_expand/src/config.rs
+++ b/compiler/rustc_expand/src/config.rs
@@ -5,7 +5,9 @@ use rustc_ast::token::{Delimiter, Token, TokenKind};
 use rustc_ast::tokenstream::{
     AttrTokenStream, AttrTokenTree, LazyAttrTokenStream, Spacing, TokenTree,
 };
-use rustc_ast::{self as ast, AttrStyle, Attribute, HasAttrs, HasTokens, MetaItem, NodeId};
+use rustc_ast::{
+    self as ast, AttrStyle, Attribute, HasAttrs, HasTokens, MetaItem, NestedMetaItem, NodeId,
+};
 use rustc_attr as attr;
 use rustc_data_structures::flat_map_in_place::FlatMapInPlace;
 use rustc_feature::{
@@ -449,7 +451,7 @@ impl<'a> StripUnconfigured<'a> {
     }
 }
 
-pub fn parse_cfg<'a>(meta_item: &'a MetaItem, sess: &Session) -> Option<&'a MetaItem> {
+pub fn parse_cfg<'a>(meta_item: &'a MetaItem, sess: &Session) -> Option<&'a NestedMetaItem> {
     let span = meta_item.span;
     match meta_item.meta_item_list() {
         None => {
@@ -464,9 +466,9 @@ pub fn parse_cfg<'a>(meta_item: &'a MetaItem, sess: &Session) -> Option<&'a Meta
             sess.dcx().emit_err(InvalidCfg::MultiplePredicates { span: l.span() });
             None
         }
-        Some([single]) => match single.meta_item() {
-            Some(meta_item) => Some(meta_item),
-            None => {
+        Some([single]) => match single.is_meta_item() {
+            true => Some(single),
+            false => {
                 sess.dcx().emit_err(InvalidCfg::PredicateLiteral { span: single.span() });
                 None
             }