@@ -2739,6 +2739,14 @@ pub struct BareFnTy<'hir> {
2739
2739
pub param_names : & ' hir [ Ident ] ,
2740
2740
}
2741
2741
2742
+ #[ derive( Debug , Clone , Copy , HashStable_Generic ) ]
2743
+ pub struct UnsafeBinderTy < ' hir > {
2744
+ pub hir_id : HirId ,
2745
+ pub span : Span ,
2746
+ pub generic_params : & ' hir [ GenericParam < ' hir > ] ,
2747
+ pub inner_ty : & ' hir Ty < ' hir > ,
2748
+ }
2749
+
2742
2750
#[ derive( Debug , Clone , Copy , HashStable_Generic ) ]
2743
2751
pub struct OpaqueTy < ' hir > {
2744
2752
pub generics : & ' hir Generics < ' hir > ,
@@ -2831,6 +2839,8 @@ pub enum TyKind<'hir> {
2831
2839
Ref ( & ' hir Lifetime , MutTy < ' hir > ) ,
2832
2840
/// A bare function (e.g., `fn(usize) -> bool`).
2833
2841
BareFn ( & ' hir BareFnTy < ' hir > ) ,
2842
+ /// Uwu
2843
+ UnsafeBinder ( & ' hir UnsafeBinderTy < ' hir > ) ,
2834
2844
/// The never type (`!`).
2835
2845
Never ,
2836
2846
/// A tuple (`(A, B, C, D, ...)`).
@@ -3801,6 +3811,7 @@ pub enum Node<'hir> {
3801
3811
// FIXME: Merge into `Node::Infer`.
3802
3812
ArrayLenInfer ( & ' hir InferArg ) ,
3803
3813
PreciseCapturingNonLifetimeArg ( & ' hir PreciseCapturingNonLifetimeArg ) ,
3814
+ UnsafeBinder ( & ' hir UnsafeBinderTy < ' hir > ) ,
3804
3815
// Created by query feeding
3805
3816
Synthetic ,
3806
3817
Err ( Span ) ,
@@ -3853,6 +3864,7 @@ impl<'hir> Node<'hir> {
3853
3864
| Node :: Infer ( ..)
3854
3865
| Node :: WhereBoundPredicate ( ..)
3855
3866
| Node :: ArrayLenInfer ( ..)
3867
+ | Node :: UnsafeBinder ( ..)
3856
3868
| Node :: Synthetic
3857
3869
| Node :: Err ( ..) => None ,
3858
3870
}
0 commit comments