@@ -37,7 +37,7 @@ use {rustc_ast as ast, rustc_hir as hir};
3737pub ( crate ) use self :: ItemKind :: * ;
3838pub ( crate ) use self :: Type :: {
3939 Array , BareFunction , BorrowedRef , DynTrait , Generic , ImplTrait , Infer , Primitive , QPath ,
40- RawPointer , SelfTy , Slice , Tuple ,
40+ RawPointer , SelfTy , Slice , Tuple , UnsafeBinder ,
4141} ;
4242use crate :: clean:: cfg:: Cfg ;
4343use crate :: clean:: clean_middle_path;
@@ -1507,6 +1507,8 @@ pub(crate) enum Type {
15071507
15081508 /// An `impl Trait`: `impl TraitA + TraitB + ...`
15091509 ImplTrait ( Vec < GenericBound > ) ,
1510+
1511+ UnsafeBinder ( Box < UnsafeBinderTy > ) ,
15101512}
15111513
15121514impl Type {
@@ -1699,7 +1701,7 @@ impl Type {
16991701 Type :: Pat ( ..) => PrimitiveType :: Pat ,
17001702 RawPointer ( ..) => PrimitiveType :: RawPointer ,
17011703 QPath ( box QPathData { ref self_type, .. } ) => return self_type. def_id ( cache) ,
1702- Generic ( _) | SelfTy | Infer | ImplTrait ( _) => return None ,
1704+ Generic ( _) | SelfTy | Infer | ImplTrait ( _) | UnsafeBinder ( _ ) => return None ,
17031705 } ;
17041706 Primitive ( t) . def_id ( cache)
17051707 }
@@ -2339,6 +2341,12 @@ pub(crate) struct BareFunctionDecl {
23392341 pub ( crate ) abi : Abi ,
23402342}
23412343
2344+ #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
2345+ pub ( crate ) struct UnsafeBinderTy {
2346+ pub ( crate ) generic_params : Vec < GenericParamDef > ,
2347+ pub ( crate ) ty : Type ,
2348+ }
2349+
23422350#[ derive( Clone , Debug ) ]
23432351pub ( crate ) struct Static {
23442352 pub ( crate ) type_ : Box < Type > ,
0 commit comments