@@ -52,7 +52,6 @@ use lint::builtin::{self, PARENTHESIZED_PARAMS_IN_TYPES_AND_MODULES,
5252use middle:: cstore:: CrateStore ;
5353use rustc_data_structures:: fx:: FxHashSet ;
5454use rustc_data_structures:: indexed_vec:: IndexVec ;
55- use rustc_data_structures:: small_vec:: OneVector ;
5655use rustc_data_structures:: thin_vec:: ThinVec ;
5756use session:: Session ;
5857use util:: common:: FN_OUTPUT_NAME ;
@@ -62,6 +61,7 @@ use std::collections::BTreeMap;
6261use std:: fmt:: Debug ;
6362use std:: iter;
6463use std:: mem;
64+ use smallvec:: SmallVec ;
6565use syntax:: attr;
6666use syntax:: ast;
6767use syntax:: ast:: * ;
@@ -307,7 +307,7 @@ enum AnonymousLifetimeMode {
307307 PassThrough ,
308308}
309309
310- struct ImplTraitTypeIdVisitor < ' a > { ids : & ' a mut OneVector < hir:: ItemId > }
310+ struct ImplTraitTypeIdVisitor < ' a > { ids : & ' a mut SmallVec < [ hir:: ItemId ; 1 ] > }
311311
312312impl < ' a , ' b > Visitor < ' a > for ImplTraitTypeIdVisitor < ' b > {
313313 fn visit_ty ( & mut self , ty : & ' a Ty ) {
@@ -1901,9 +1901,9 @@ impl<'a> LoweringContext<'a> {
19011901 )
19021902 }
19031903
1904- fn lower_local ( & mut self , l : & Local ) -> ( P < hir:: Local > , OneVector < hir:: ItemId > ) {
1904+ fn lower_local ( & mut self , l : & Local ) -> ( P < hir:: Local > , SmallVec < [ hir:: ItemId ; 1 ] > ) {
19051905 let LoweredNodeId { node_id, hir_id } = self . lower_node_id ( l. id ) ;
1906- let mut ids = OneVector :: < hir:: ItemId > :: new ( ) ;
1906+ let mut ids = SmallVec :: < [ hir:: ItemId ; 1 ] > :: new ( ) ;
19071907 if self . sess . features_untracked ( ) . impl_trait_in_bindings {
19081908 if let Some ( ref ty) = l. ty {
19091909 let mut visitor = ImplTraitTypeIdVisitor { ids : & mut ids } ;
@@ -3211,7 +3211,7 @@ impl<'a> LoweringContext<'a> {
32113211 & mut self ,
32123212 decl : & FnDecl ,
32133213 header : & FnHeader ,
3214- ids : & mut OneVector < hir:: ItemId > ,
3214+ ids : & mut SmallVec < [ hir:: ItemId ; 1 ] > ,
32153215 ) {
32163216 if let Some ( id) = header. asyncness . opt_return_id ( ) {
32173217 ids. push ( hir:: ItemId { id } ) ;
@@ -3223,14 +3223,14 @@ impl<'a> LoweringContext<'a> {
32233223 }
32243224 }
32253225
3226- fn lower_item_id ( & mut self , i : & Item ) -> OneVector < hir:: ItemId > {
3226+ fn lower_item_id ( & mut self , i : & Item ) -> SmallVec < [ hir:: ItemId ; 1 ] > {
32273227 match i. node {
32283228 ItemKind :: Use ( ref use_tree) => {
32293229 let mut vec = smallvec ! [ hir:: ItemId { id: i. id } ] ;
32303230 self . lower_item_id_use_tree ( use_tree, i. id , & mut vec) ;
32313231 vec
32323232 }
3233- ItemKind :: MacroDef ( ..) => OneVector :: new ( ) ,
3233+ ItemKind :: MacroDef ( ..) => SmallVec :: new ( ) ,
32343234 ItemKind :: Fn ( ref decl, ref header, ..) => {
32353235 let mut ids = smallvec ! [ hir:: ItemId { id: i. id } ] ;
32363236 self . lower_fn_impl_trait_ids ( decl, header, & mut ids) ;
@@ -3268,7 +3268,7 @@ impl<'a> LoweringContext<'a> {
32683268 fn lower_item_id_use_tree ( & mut self ,
32693269 tree : & UseTree ,
32703270 base_id : NodeId ,
3271- vec : & mut OneVector < hir:: ItemId > )
3271+ vec : & mut SmallVec < [ hir:: ItemId ; 1 ] > )
32723272 {
32733273 match tree. kind {
32743274 UseTreeKind :: Nested ( ref nested_vec) => for & ( ref nested, id) in nested_vec {
@@ -4369,11 +4369,11 @@ impl<'a> LoweringContext<'a> {
43694369 }
43704370 }
43714371
4372- fn lower_stmt ( & mut self , s : & Stmt ) -> OneVector < hir:: Stmt > {
4372+ fn lower_stmt ( & mut self , s : & Stmt ) -> SmallVec < [ hir:: Stmt ; 1 ] > {
43734373 smallvec ! [ match s. node {
43744374 StmtKind :: Local ( ref l) => {
43754375 let ( l, item_ids) = self . lower_local( l) ;
4376- let mut ids: OneVector < hir:: Stmt > = item_ids
4376+ let mut ids: SmallVec < [ hir:: Stmt ; 1 ] > = item_ids
43774377 . into_iter( )
43784378 . map( |item_id| Spanned {
43794379 node: hir:: StmtKind :: Decl (
0 commit comments