@@ -336,35 +336,17 @@ fn macro_def(db: &dyn AstDatabase, id: MacroDefId) -> Option<Arc<TokenExpander>>
336336}
337337
338338fn macro_expand ( db : & dyn AstDatabase , id : MacroCallId ) -> ExpandResult < Option < Arc < tt:: Subtree > > > {
339- macro_expand_with_arg ( db, id, None )
340- }
341-
342- fn macro_expand_error ( db : & dyn AstDatabase , macro_call : MacroCallId ) -> Option < ExpandError > {
343- db. macro_expand ( macro_call) . err
344- }
345-
346- fn macro_expand_with_arg (
347- db : & dyn AstDatabase ,
348- id : MacroCallId ,
349- arg : Option < Arc < ( tt:: Subtree , mbe:: TokenMap ) > > ,
350- ) -> ExpandResult < Option < Arc < tt:: Subtree > > > {
351339 let _p = profile:: span ( "macro_expand" ) ;
352340 let loc: MacroCallLoc = db. lookup_intern_macro ( id) ;
353341 if let Some ( eager) = & loc. eager {
354- if arg. is_some ( ) {
355- return ExpandResult :: str_err (
356- "speculative macro expansion not implemented for eager macro" . to_owned ( ) ,
357- ) ;
358- } else {
359- return ExpandResult {
360- value : Some ( eager. arg_or_expansion . clone ( ) ) ,
361- // FIXME: There could be errors here!
362- err : None ,
363- } ;
364- }
342+ return ExpandResult {
343+ value : Some ( eager. arg_or_expansion . clone ( ) ) ,
344+ // FIXME: There could be errors here!
345+ err : None ,
346+ } ;
365347 }
366348
367- let macro_arg = match arg . or_else ( || db. macro_arg ( id) ) {
349+ let macro_arg = match db. macro_arg ( id) {
368350 Some ( it) => it,
369351 None => return ExpandResult :: str_err ( "Fail to args in to tt::TokenTree" . into ( ) ) ,
370352 } ;
@@ -388,6 +370,10 @@ fn macro_expand_with_arg(
388370 ExpandResult { value : Some ( Arc :: new ( tt) ) , err }
389371}
390372
373+ fn macro_expand_error ( db : & dyn AstDatabase , macro_call : MacroCallId ) -> Option < ExpandError > {
374+ db. macro_expand ( macro_call) . err
375+ }
376+
391377fn expand_proc_macro (
392378 db : & dyn AstDatabase ,
393379 id : MacroCallId ,
0 commit comments