@@ -2747,6 +2747,14 @@ pub struct BareFnTy<'hir> {
2747
2747
pub param_names : & ' hir [ Ident ] ,
2748
2748
}
2749
2749
2750
+ #[ derive( Debug , Clone , Copy , HashStable_Generic ) ]
2751
+ pub struct UnsafeBinderTy < ' hir > {
2752
+ pub hir_id : HirId ,
2753
+ pub span : Span ,
2754
+ pub generic_params : & ' hir [ GenericParam < ' hir > ] ,
2755
+ pub inner_ty : & ' hir Ty < ' hir > ,
2756
+ }
2757
+
2750
2758
#[ derive( Debug , Clone , Copy , HashStable_Generic ) ]
2751
2759
pub struct OpaqueTy < ' hir > {
2752
2760
pub generics : & ' hir Generics < ' hir > ,
@@ -2839,6 +2847,8 @@ pub enum TyKind<'hir> {
2839
2847
Ref ( & ' hir Lifetime , MutTy < ' hir > ) ,
2840
2848
/// A bare function (e.g., `fn(usize) -> bool`).
2841
2849
BareFn ( & ' hir BareFnTy < ' hir > ) ,
2850
+ /// Uwu
2851
+ UnsafeBinder ( & ' hir UnsafeBinderTy < ' hir > ) ,
2842
2852
/// The never type (`!`).
2843
2853
Never ,
2844
2854
/// A tuple (`(A, B, C, D, ...)`).
@@ -3810,6 +3820,7 @@ pub enum Node<'hir> {
3810
3820
// FIXME: Merge into `Node::Infer`.
3811
3821
ArrayLenInfer ( & ' hir InferArg ) ,
3812
3822
PreciseCapturingNonLifetimeArg ( & ' hir PreciseCapturingNonLifetimeArg ) ,
3823
+ UnsafeBinder ( & ' hir UnsafeBinderTy < ' hir > ) ,
3813
3824
// Created by query feeding
3814
3825
Synthetic ,
3815
3826
Err ( Span ) ,
@@ -3862,6 +3873,7 @@ impl<'hir> Node<'hir> {
3862
3873
| Node :: Infer ( ..)
3863
3874
| Node :: WhereBoundPredicate ( ..)
3864
3875
| Node :: ArrayLenInfer ( ..)
3876
+ | Node :: UnsafeBinder ( ..)
3865
3877
| Node :: Synthetic
3866
3878
| Node :: Err ( ..) => None ,
3867
3879
}
0 commit comments