From cee02673d1128f837d580b72f60a991ea521da1b Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sat, 21 Aug 2021 12:55:05 +0200 Subject: [PATCH] Don't ask for the builtin attribute input twice --- crates/hir_expand/src/builtin_attr.rs | 8 +++----- crates/hir_expand/src/db.rs | 5 +---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/crates/hir_expand/src/builtin_attr.rs b/crates/hir_expand/src/builtin_attr.rs index 6257050d802..2e461864a0b 100644 --- a/crates/hir_expand/src/builtin_attr.rs +++ b/crates/hir_expand/src/builtin_attr.rs @@ -18,12 +18,11 @@ macro_rules! register_builtin { db: &dyn AstDatabase, id: MacroCallId, tt: &tt::Subtree, - item: &tt::Subtree, ) -> ExpandResult { let expander = match *self { $( BuiltinAttrExpander::$variant => $expand, )* }; - expander(db, id, tt, item) + expander(db, id, tt) } fn find_by_name(name: &name::Name) -> Option { @@ -63,8 +62,7 @@ pub fn find_builtin_attr( fn dummy_attr_expand( _db: &dyn AstDatabase, _id: MacroCallId, - _tt: &tt::Subtree, - item: &tt::Subtree, + tt: &tt::Subtree, ) -> ExpandResult { - ExpandResult::ok(item.clone()) + ExpandResult::ok(tt.clone()) } diff --git a/crates/hir_expand/src/db.rs b/crates/hir_expand/src/db.rs index f2b1895046a..f0a2e352fda 100644 --- a/crates/hir_expand/src/db.rs +++ b/crates/hir_expand/src/db.rs @@ -53,10 +53,7 @@ impl TokenExpander { TokenExpander::MacroRules { mac, .. } => mac.expand(tt), TokenExpander::MacroDef { mac, .. } => mac.expand(tt), TokenExpander::Builtin(it) => it.expand(db, id, tt), - TokenExpander::BuiltinAttr(it) => match db.macro_arg(id) { - Some(macro_arg) => it.expand(db, id, tt, ¯o_arg.0), - None => mbe::ExpandResult::str_err("No item argument for attribute".to_string()), - }, + TokenExpander::BuiltinAttr(it) => it.expand(db, id, tt), TokenExpander::BuiltinDerive(it) => it.expand(db, id, tt), TokenExpander::ProcMacro(_) => { // We store the result in salsa db to prevent non-deterministic behavior in