@@ -39,9 +39,9 @@ use rustc_ast::tokenstream::{TokenStream, TokenTree};
3939use rustc_data_structures:: fx:: { FxHashMap , FxHashSet , FxIndexMap , FxIndexSet , IndexEntry } ;
4040use rustc_errors:: codes:: * ;
4141use rustc_errors:: { FatalError , struct_span_code_err} ;
42- use rustc_hir:: PredicateOrigin ;
4342use rustc_hir:: def:: { CtorKind , DefKind , Res } ;
4443use rustc_hir:: def_id:: { DefId , DefIdMap , DefIdSet , LOCAL_CRATE , LocalDefId } ;
44+ use rustc_hir:: { LangItem , PredicateOrigin } ;
4545use rustc_hir_analysis:: hir_ty_lowering:: FeedConstTy ;
4646use rustc_hir_analysis:: { lower_const_arg_for_rustdoc, lower_ty} ;
4747use rustc_middle:: metadata:: Reexport ;
@@ -886,6 +886,10 @@ fn clean_ty_generics_inner<'tcx>(
886886 if b. is_sized_bound ( cx) {
887887 has_sized = true ;
888888 false
889+ } else if b. is_meta_sized_bound ( cx) {
890+ // FIXME(sized-hierarchy): Always skip `MetaSized` bounds so that only `?Sized`
891+ // is shown and none of the new sizedness traits leak into documentation.
892+ false
889893 } else {
890894 true
891895 }
@@ -1448,6 +1452,13 @@ pub(crate) fn clean_middle_assoc_item(assoc_item: &ty::AssocItem, cx: &mut DocCo
14481452 }
14491453 _ => true ,
14501454 } ) ;
1455+
1456+ bounds. retain ( |b| {
1457+ // FIXME(sized-hierarchy): Always skip `MetaSized` bounds so that only `?Sized`
1458+ // is shown and none of the new sizedness traits leak into documentation.
1459+ !b. is_meta_sized_bound ( cx)
1460+ } ) ;
1461+
14511462 // Our Sized/?Sized bound didn't get handled when creating the generics
14521463 // because we didn't actually get our whole set of bounds until just now
14531464 // (some of them may have come from the trait). If we do have a sized
@@ -2276,6 +2287,12 @@ fn clean_middle_opaque_bounds<'tcx>(
22762287 _ => return None ,
22772288 } ;
22782289
2290+ // FIXME(sized-hierarchy): Always skip `MetaSized` bounds so that only `?Sized`
2291+ // is shown and none of the new sizedness traits leak into documentation.
2292+ if cx. tcx . is_lang_item ( trait_ref. def_id ( ) , LangItem :: MetaSized ) {
2293+ return None ;
2294+ }
2295+
22792296 if let Some ( sized) = cx. tcx . lang_items ( ) . sized_trait ( )
22802297 && trait_ref. def_id ( ) == sized
22812298 {
0 commit comments