@@ -34,7 +34,7 @@ use {rustc_ast as ast, rustc_hir as hir};
3434pub ( crate ) use self :: ItemKind :: * ;
3535pub ( crate ) use self :: Type :: {
3636 Array , BareFunction , BorrowedRef , DynTrait , Generic , ImplTrait , Infer , Primitive , QPath ,
37- RawPointer , SelfTy , Slice , Tuple ,
37+ RawPointer , SelfTy , Slice , Tuple , UnsafeBinder ,
3838} ;
3939use crate :: clean:: cfg:: Cfg ;
4040use crate :: clean:: clean_middle_path;
@@ -1503,6 +1503,8 @@ pub(crate) enum Type {
15031503
15041504 /// An `impl Trait`: `impl TraitA + TraitB + ...`
15051505 ImplTrait ( Vec < GenericBound > ) ,
1506+
1507+ UnsafeBinder ( Box < UnsafeBinderTy > ) ,
15061508}
15071509
15081510impl Type {
@@ -1695,7 +1697,7 @@ impl Type {
16951697 Type :: Pat ( ..) => PrimitiveType :: Pat ,
16961698 RawPointer ( ..) => PrimitiveType :: RawPointer ,
16971699 QPath ( box QPathData { ref self_type, .. } ) => return self_type. def_id ( cache) ,
1698- Generic ( _) | SelfTy | Infer | ImplTrait ( _) => return None ,
1700+ Generic ( _) | SelfTy | Infer | ImplTrait ( _) | UnsafeBinder ( _ ) => return None ,
16991701 } ;
17001702 Primitive ( t) . def_id ( cache)
17011703 }
@@ -2335,6 +2337,12 @@ pub(crate) struct BareFunctionDecl {
23352337 pub ( crate ) abi : ExternAbi ,
23362338}
23372339
2340+ #[ derive( Clone , PartialEq , Eq , Debug , Hash ) ]
2341+ pub ( crate ) struct UnsafeBinderTy {
2342+ pub ( crate ) generic_params : Vec < GenericParamDef > ,
2343+ pub ( crate ) ty : Type ,
2344+ }
2345+
23382346#[ derive( Clone , Debug ) ]
23392347pub ( crate ) struct Static {
23402348 pub ( crate ) type_ : Box < Type > ,
0 commit comments