@@ -31,27 +31,6 @@ fn def_id_to_path(tcx: TyCtxt<'_>, did: DefId) -> Vec<String> {
3131 std:: iter:: once ( crate_name) . chain ( relative) . collect ( )
3232}
3333
34- fn check_doc_alias_attrs (
35- attrs : & [ ast:: Attribute ] ,
36- item_kind : & str ,
37- diagnostic : & :: rustc_errors:: Handler ,
38- ) {
39- for attr in attrs {
40- if let Some ( attr) = attr. meta ( ) {
41- if let Some ( list) = attr. meta_item_list ( ) {
42- for meta in list {
43- if meta. check_name ( sym:: alias) {
44- diagnostic. span_err (
45- meta. span ( ) ,
46- & format ! ( "`#[doc(alias = \" ...\" )]` isn't allowed on {}" , item_kind) ,
47- ) ;
48- }
49- }
50- }
51- }
52- }
53- }
54-
5534// Also, is there some reason that this doesn't use the 'visit'
5635// framework from syntax?.
5736
@@ -408,7 +387,6 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
408387
409388 match item. kind {
410389 hir:: ItemKind :: ForeignMod ( ref fm) => {
411- check_doc_alias_attrs ( & item. attrs , "extern block" , self . cx . sess ( ) . diagnostic ( ) ) ;
412390 for item in fm. items {
413391 self . visit_foreign_item ( item, None , om) ;
414392 }
@@ -583,22 +561,11 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
583561 self_ty,
584562 ref items,
585563 } => {
586- check_doc_alias_attrs (
587- & item. attrs ,
588- "implementation block" ,
589- self . cx . sess ( ) . diagnostic ( ) ,
590- ) ;
591564 // Don't duplicate impls when inlining or if it's implementing a trait, we'll pick
592565 // them up regardless of where they're located.
593566 if !self . inlining && of_trait. is_none ( ) {
594- let items = items
595- . iter ( )
596- . map ( |item| {
597- let item = self . cx . tcx . hir ( ) . impl_item ( item. id ) ;
598- self . check_impl_doc_alias_attr ( item) ;
599- item
600- } )
601- . collect ( ) ;
567+ let items =
568+ items. iter ( ) . map ( |item| self . cx . tcx . hir ( ) . impl_item ( item. id ) ) . collect ( ) ;
602569 let i = Impl {
603570 unsafety,
604571 polarity,
@@ -614,31 +581,11 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
614581 vis : & item. vis ,
615582 } ;
616583 om. impls . push ( i) ;
617- } else if of_trait. is_some ( ) {
618- for item in items. iter ( ) {
619- self . check_impl_doc_alias_attr ( self . cx . tcx . hir ( ) . impl_item ( item. id ) ) ;
620- }
621584 }
622585 }
623586 }
624587 }
625588
626- fn check_impl_doc_alias_attr ( & self , item : & hir:: ImplItem < ' _ > ) {
627- match item. kind {
628- hir:: ImplItemKind :: Const ( _, _) => check_doc_alias_attrs (
629- & item. attrs ,
630- "const in implementation block" ,
631- self . cx . sess ( ) . diagnostic ( ) ,
632- ) ,
633- hir:: ImplItemKind :: TyAlias ( _) => check_doc_alias_attrs (
634- & item. attrs ,
635- "type alias in implementation block" ,
636- self . cx . sess ( ) . diagnostic ( ) ,
637- ) ,
638- hir:: ImplItemKind :: Fn ( _, _) => { }
639- }
640- }
641-
642589 fn visit_foreign_item (
643590 & mut self ,
644591 item : & ' tcx hir:: ForeignItem < ' _ > ,
0 commit comments