@@ -336,35 +336,17 @@ fn macro_def(db: &dyn AstDatabase, id: MacroDefId) -> Option<Arc<TokenExpander>>
336
336
}
337
337
338
338
fn 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 > > > {
351
339
let _p = profile:: span ( "macro_expand" ) ;
352
340
let loc: MacroCallLoc = db. lookup_intern_macro ( id) ;
353
341
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
+ } ;
365
347
}
366
348
367
- let macro_arg = match arg . or_else ( || db. macro_arg ( id) ) {
349
+ let macro_arg = match db. macro_arg ( id) {
368
350
Some ( it) => it,
369
351
None => return ExpandResult :: str_err ( "Fail to args in to tt::TokenTree" . into ( ) ) ,
370
352
} ;
@@ -388,6 +370,10 @@ fn macro_expand_with_arg(
388
370
ExpandResult { value : Some ( Arc :: new ( tt) ) , err }
389
371
}
390
372
373
+ fn macro_expand_error ( db : & dyn AstDatabase , macro_call : MacroCallId ) -> Option < ExpandError > {
374
+ db. macro_expand ( macro_call) . err
375
+ }
376
+
391
377
fn expand_proc_macro (
392
378
db : & dyn AstDatabase ,
393
379
id : MacroCallId ,
0 commit comments