@@ -415,29 +415,28 @@ impl Item {
415415 . unwrap_or ( false )
416416 }
417417
418- pub ( crate ) fn span ( & self , tcx : TyCtxt < ' _ > ) -> Span {
418+ pub ( crate ) fn span ( & self , tcx : TyCtxt < ' _ > ) -> Option < Span > {
419419 let kind = match & * self . kind {
420420 ItemKind :: StrippedItem ( k) => k,
421421 _ => & * self . kind ,
422422 } ;
423423 match kind {
424- ItemKind :: ModuleItem ( Module { span, .. } ) => * span,
425- ItemKind :: ImplItem ( box Impl { kind : ImplKind :: Auto , .. } ) => Span :: dummy ( ) ,
424+ ItemKind :: ModuleItem ( Module { span, .. } ) => Some ( * span) ,
425+ ItemKind :: ImplItem ( box Impl { kind : ImplKind :: Auto , .. } ) => None ,
426426 ItemKind :: ImplItem ( box Impl { kind : ImplKind :: Blanket ( _) , .. } ) => {
427427 if let ItemId :: Blanket { impl_id, .. } = self . item_id {
428- rustc_span ( impl_id, tcx)
428+ Some ( rustc_span ( impl_id, tcx) )
429429 } else {
430430 panic ! ( "blanket impl item has non-blanket ID" )
431431 }
432432 }
433- _ => {
434- self . item_id . as_def_id ( ) . map ( |did| rustc_span ( did, tcx) ) . unwrap_or_else ( Span :: dummy)
435- }
433+ _ => self . item_id . as_def_id ( ) . map ( |did| rustc_span ( did, tcx) ) ,
436434 }
437435 }
438436
439437 pub ( crate ) fn attr_span ( & self , tcx : TyCtxt < ' _ > ) -> rustc_span:: Span {
440- crate :: passes:: span_of_attrs ( & self . attrs ) . unwrap_or_else ( || self . span ( tcx) . inner ( ) )
438+ crate :: passes:: span_of_attrs ( & self . attrs )
439+ . unwrap_or_else ( || self . span ( tcx) . map_or ( rustc_span:: DUMMY_SP , |span| span. inner ( ) ) )
441440 }
442441
443442 /// Finds the `doc` attribute as a NameValue and returns the corresponding
@@ -2109,14 +2108,6 @@ impl Span {
21092108 self . 0
21102109 }
21112110
2112- pub ( crate ) fn dummy ( ) -> Self {
2113- Self ( rustc_span:: DUMMY_SP )
2114- }
2115-
2116- pub ( crate ) fn is_dummy ( & self ) -> bool {
2117- self . 0 . is_dummy ( )
2118- }
2119-
21202111 pub ( crate ) fn filename ( & self , sess : & Session ) -> FileName {
21212112 sess. source_map ( ) . span_to_filename ( self . 0 )
21222113 }
0 commit comments