@@ -384,15 +384,15 @@ impl GenericParam {
384
384
/// a function, enum, trait, etc.
385
385
#[ derive( Clone , Encodable , Decodable , Debug ) ]
386
386
pub struct Generics {
387
- pub params : Vec < GenericParam > ,
387
+ pub params : ThinVec < GenericParam > ,
388
388
pub where_clause : WhereClause ,
389
389
pub span : Span ,
390
390
}
391
391
392
392
impl Default for Generics {
393
393
/// Creates an instance of `Generics`.
394
394
fn default ( ) -> Generics {
395
- Generics { params : Vec :: new ( ) , where_clause : Default :: default ( ) , span : DUMMY_SP }
395
+ Generics { params : ThinVec :: new ( ) , where_clause : Default :: default ( ) , span : DUMMY_SP }
396
396
}
397
397
}
398
398
@@ -441,7 +441,7 @@ impl WherePredicate {
441
441
pub struct WhereBoundPredicate {
442
442
pub span : Span ,
443
443
/// Any generics from a `for` binding.
444
- pub bound_generic_params : Vec < GenericParam > ,
444
+ pub bound_generic_params : ThinVec < GenericParam > ,
445
445
/// The type being bounded.
446
446
pub bounded_ty : P < Ty > ,
447
447
/// Trait and lifetime bounds (`Clone + Send + 'static`).
@@ -1169,7 +1169,7 @@ impl Expr {
1169
1169
pub fn to_bound ( & self ) -> Option < GenericBound > {
1170
1170
match & self . kind {
1171
1171
ExprKind :: Path ( None , path) => Some ( GenericBound :: Trait (
1172
- PolyTraitRef :: new ( Vec :: new ( ) , path. clone ( ) , self . span ) ,
1172
+ PolyTraitRef :: new ( ThinVec :: new ( ) , path. clone ( ) , self . span ) ,
1173
1173
TraitBoundModifier :: None ,
1174
1174
) ) ,
1175
1175
_ => None ,
@@ -1574,7 +1574,7 @@ pub enum ClosureBinder {
1574
1574
/// for<'a, 'b> |_: &'a (), _: &'b ()| { ... }
1575
1575
/// ^^^^^^ -- this
1576
1576
/// ```
1577
- generic_params : P < [ GenericParam ] > ,
1577
+ generic_params : ThinVec < GenericParam > ,
1578
1578
} ,
1579
1579
}
1580
1580
@@ -2056,7 +2056,7 @@ impl Ty {
2056
2056
pub struct BareFnTy {
2057
2057
pub unsafety : Unsafe ,
2058
2058
pub ext : Extern ,
2059
- pub generic_params : Vec < GenericParam > ,
2059
+ pub generic_params : ThinVec < GenericParam > ,
2060
2060
pub decl : P < FnDecl > ,
2061
2061
/// Span of the `fn(...) -> ...` part.
2062
2062
pub decl_span : Span ,
@@ -2636,7 +2636,7 @@ pub struct TraitRef {
2636
2636
#[ derive( Clone , Encodable , Decodable , Debug ) ]
2637
2637
pub struct PolyTraitRef {
2638
2638
/// The `'a` in `for<'a> Foo<&'a T>`.
2639
- pub bound_generic_params : Vec < GenericParam > ,
2639
+ pub bound_generic_params : ThinVec < GenericParam > ,
2640
2640
2641
2641
/// The `Foo<&'a T>` in `<'a> Foo<&'a T>`.
2642
2642
pub trait_ref : TraitRef ,
@@ -2645,7 +2645,7 @@ pub struct PolyTraitRef {
2645
2645
}
2646
2646
2647
2647
impl PolyTraitRef {
2648
- pub fn new ( generic_params : Vec < GenericParam > , path : Path , span : Span ) -> Self {
2648
+ pub fn new ( generic_params : ThinVec < GenericParam > , path : Path , span : Span ) -> Self {
2649
2649
PolyTraitRef {
2650
2650
bound_generic_params : generic_params,
2651
2651
trait_ref : TraitRef { path, ref_id : DUMMY_NODE_ID } ,
@@ -3115,15 +3115,15 @@ mod size_asserts {
3115
3115
static_assert_size ! ( Block , 48 ) ;
3116
3116
static_assert_size ! ( Expr , 72 ) ;
3117
3117
static_assert_size ! ( ExprKind , 40 ) ;
3118
- static_assert_size ! ( Fn , 184 ) ;
3118
+ static_assert_size ! ( Fn , 168 ) ;
3119
3119
static_assert_size ! ( ForeignItem , 96 ) ;
3120
3120
static_assert_size ! ( ForeignItemKind , 24 ) ;
3121
3121
static_assert_size ! ( GenericArg , 24 ) ;
3122
- static_assert_size ! ( GenericBound , 72 ) ;
3123
- static_assert_size ! ( Generics , 72 ) ;
3124
- static_assert_size ! ( Impl , 184 ) ;
3125
- static_assert_size ! ( Item , 184 ) ;
3126
- static_assert_size ! ( ItemKind , 112 ) ;
3122
+ static_assert_size ! ( GenericBound , 56 ) ;
3123
+ static_assert_size ! ( Generics , 56 ) ;
3124
+ static_assert_size ! ( Impl , 168 ) ;
3125
+ static_assert_size ! ( Item , 168 ) ;
3126
+ static_assert_size ! ( ItemKind , 96 ) ;
3127
3127
static_assert_size ! ( LitKind , 24 ) ;
3128
3128
static_assert_size ! ( Local , 72 ) ;
3129
3129
static_assert_size ! ( MetaItemLit , 40 ) ;
0 commit comments