77mod unresolved_module;
88mod unresolved_extern_crate;
99mod unresolved_import;
10+ mod unresolved_macro_call;
1011mod missing_fields;
1112
1213mod fixes;
@@ -16,9 +17,8 @@ mod unlinked_file;
1617use std:: cell:: RefCell ;
1718
1819use hir:: {
19- db:: AstDatabase ,
2020 diagnostics:: { AnyDiagnostic , Diagnostic as _, DiagnosticCode , DiagnosticSinkBuilder } ,
21- InFile , Semantics ,
21+ Semantics ,
2222} ;
2323use ide_assists:: AssistResolveStrategy ;
2424use ide_db:: { base_db:: SourceDatabase , RootDatabase } ;
@@ -203,20 +203,6 @@ pub(crate) fn diagnostics(
203203 res. borrow_mut ( )
204204 . push ( Diagnostic :: hint ( display_range, d. message ( ) ) . with_code ( Some ( d. code ( ) ) ) ) ;
205205 } )
206- . on :: < hir:: diagnostics:: UnresolvedMacroCall , _ > ( |d| {
207- let last_path_segment = sema. db . parse_or_expand ( d. file ) . and_then ( |root| {
208- d. node
209- . to_node ( & root)
210- . path ( )
211- . and_then ( |it| it. segment ( ) )
212- . and_then ( |it| it. name_ref ( ) )
213- . map ( |it| InFile :: new ( d. file , SyntaxNodePtr :: new ( it. syntax ( ) ) ) )
214- } ) ;
215- let diagnostics = last_path_segment. unwrap_or_else ( || d. display_source ( ) ) ;
216- let display_range = sema. diagnostics_display_range ( diagnostics) . range ;
217- res. borrow_mut ( )
218- . push ( Diagnostic :: error ( display_range, d. message ( ) ) . with_code ( Some ( d. code ( ) ) ) ) ;
219- } )
220206 . on :: < hir:: diagnostics:: UnimplementedBuiltinMacro , _ > ( |d| {
221207 let display_range = sema. diagnostics_display_range ( d. display_source ( ) ) . range ;
222208 res. borrow_mut ( )
@@ -259,6 +245,7 @@ pub(crate) fn diagnostics(
259245 AnyDiagnostic :: UnresolvedModule ( d) => unresolved_module:: unresolved_module ( & ctx, & d) ,
260246 AnyDiagnostic :: UnresolvedExternCrate ( d) => unresolved_extern_crate:: unresolved_extern_crate ( & ctx, & d) ,
261247 AnyDiagnostic :: UnresolvedImport ( d) => unresolved_import:: unresolved_import ( & ctx, & d) ,
248+ AnyDiagnostic :: UnresolvedMacroCall ( d) => unresolved_macro_call:: unresolved_macro_call ( & ctx, & d) ,
262249 AnyDiagnostic :: MissingFields ( d) => missing_fields:: missing_fields ( & ctx, & d) ,
263250 } ;
264251 if let Some ( code) = d. code {
@@ -480,16 +467,6 @@ mod tests {
480467 assert_eq ! ( expected, actual) ;
481468 }
482469
483- #[ test]
484- fn test_unresolved_macro_range ( ) {
485- check_diagnostics (
486- r#"
487- foo::bar!(92);
488- //^^^ unresolved macro `foo::bar!`
489- "# ,
490- ) ;
491- }
492-
493470 #[ test]
494471 fn range_mapping_out_of_macros ( ) {
495472 // FIXME: this is very wrong, but somewhat tricky to fix.
0 commit comments