Skip to content

Commit 8d247aa

Browse files
committed
Align interface of OwnedSlice with Vec
1 parent acf4e0b commit 8d247aa

File tree

19 files changed

+107
-109
lines changed

19 files changed

+107
-109
lines changed

src/librustc/middle/infer/error_reporting.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ use syntax::owned_slice::OwnedSlice;
9494
use syntax::codemap::{self, Pos, Span};
9595
use syntax::parse::token;
9696
use syntax::ptr::P;
97+
use syntax::util::MoveMap;
9798

9899
impl<'tcx> ty::ctxt<'tcx> {
99100
pub fn note_and_explain_region(&self,
@@ -1156,15 +1157,15 @@ impl<'a, 'tcx> Rebuilder<'a, 'tcx> {
11561157
lifetime: hir::Lifetime,
11571158
region_names: &HashSet<ast::Name>)
11581159
-> OwnedSlice<hir::TyParam> {
1159-
ty_params.map(|ty_param| {
1160-
let bounds = self.rebuild_ty_param_bounds(ty_param.bounds.clone(),
1160+
ty_params.move_map(|ty_param| {
1161+
let bounds = self.rebuild_ty_param_bounds(ty_param.bounds,
11611162
lifetime,
11621163
region_names);
11631164
hir::TyParam {
11641165
name: ty_param.name,
11651166
id: ty_param.id,
11661167
bounds: bounds,
1167-
default: ty_param.default.clone(),
1168+
default: ty_param.default,
11681169
span: ty_param.span,
11691170
}
11701171
})
@@ -1175,15 +1176,15 @@ impl<'a, 'tcx> Rebuilder<'a, 'tcx> {
11751176
lifetime: hir::Lifetime,
11761177
region_names: &HashSet<ast::Name>)
11771178
-> OwnedSlice<hir::TyParamBound> {
1178-
ty_param_bounds.map(|tpb| {
1179+
ty_param_bounds.move_map(|tpb| {
11791180
match tpb {
1180-
&hir::RegionTyParamBound(lt) => {
1181+
hir::RegionTyParamBound(lt) => {
11811182
// FIXME -- it's unclear whether I'm supposed to
11821183
// substitute lifetime here. I suspect we need to
11831184
// be passing down a map.
11841185
hir::RegionTyParamBound(lt)
11851186
}
1186-
&hir::TraitTyParamBound(ref poly_tr, modifier) => {
1187+
hir::TraitTyParamBound(ref poly_tr, modifier) => {
11871188
let tr = &poly_tr.trait_ref;
11881189
let last_seg = tr.path.segments.last().unwrap();
11891190
let mut insert = Vec::new();
@@ -1497,10 +1498,10 @@ impl<'a, 'tcx> Rebuilder<'a, 'tcx> {
14971498
}
14981499
}
14991500
}
1500-
let new_types = data.types.map(|t| {
1501+
let new_types = data.types.iter().map(|t| {
15011502
self.rebuild_arg_ty_or_output(&**t, lifetime, anon_nums, region_names)
1502-
});
1503-
let new_bindings = data.bindings.map(|b| {
1503+
}).collect();
1504+
let new_bindings = data.bindings.iter().map(|b| {
15041505
hir::TypeBinding {
15051506
id: b.id,
15061507
name: b.name,
@@ -1510,7 +1511,7 @@ impl<'a, 'tcx> Rebuilder<'a, 'tcx> {
15101511
region_names),
15111512
span: b.span
15121513
}
1513-
});
1514+
}).collect();
15141515
hir::AngleBracketedParameters(hir::AngleBracketedParameterData {
15151516
lifetimes: new_lts,
15161517
types: new_types,

src/librustc_front/fold.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use syntax::codemap::{respan, Span, Spanned};
2020
use syntax::owned_slice::OwnedSlice;
2121
use syntax::ptr::P;
2222
use syntax::parse::token;
23-
use syntax::util::move_map::MoveMap;
23+
use syntax::util::MoveMap;
2424

2525
pub trait Folder : Sized {
2626
// Any additions to this trait should happen in form

src/librustc_front/hir.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ impl PathParameters {
127127
pub fn none() -> PathParameters {
128128
AngleBracketedParameters(AngleBracketedParameterData {
129129
lifetimes: Vec::new(),
130-
types: OwnedSlice::empty(),
131-
bindings: OwnedSlice::empty(),
130+
types: OwnedSlice::new(),
131+
bindings: OwnedSlice::new(),
132132
})
133133
}
134134

src/librustc_front/print/pprust.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ impl<'a> State<'a> {
519519
hir::TyBareFn(ref f) => {
520520
let generics = hir::Generics {
521521
lifetimes: f.lifetimes.clone(),
522-
ty_params: OwnedSlice::empty(),
522+
ty_params: OwnedSlice::new(),
523523
where_clause: hir::WhereClause {
524524
id: ast::DUMMY_NODE_ID,
525525
predicates: Vec::new(),
@@ -2258,7 +2258,7 @@ impl<'a> State<'a> {
22582258
}
22592259
let generics = hir::Generics {
22602260
lifetimes: Vec::new(),
2261-
ty_params: OwnedSlice::empty(),
2261+
ty_params: OwnedSlice::new(),
22622262
where_clause: hir::WhereClause {
22632263
id: ast::DUMMY_NODE_ID,
22642264
predicates: Vec::new(),

src/librustc_front/util.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ pub fn is_path(e: P<Expr>) -> bool {
336336
pub fn empty_generics() -> Generics {
337337
Generics {
338338
lifetimes: Vec::new(),
339-
ty_params: OwnedSlice::empty(),
339+
ty_params: OwnedSlice::new(),
340340
where_clause: WhereClause {
341341
id: DUMMY_NODE_ID,
342342
predicates: Vec::new(),
@@ -354,8 +354,8 @@ pub fn ident_to_path(s: Span, ident: Ident) -> Path {
354354
identifier: ident,
355355
parameters: hir::AngleBracketedParameters(hir::AngleBracketedParameterData {
356356
lifetimes: Vec::new(),
357-
types: OwnedSlice::empty(),
358-
bindings: OwnedSlice::empty(),
357+
types: OwnedSlice::new(),
358+
bindings: OwnedSlice::new(),
359359
}),
360360
}),
361361
}

src/libsyntax/ast.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,8 @@ impl PathParameters {
262262
pub fn none() -> PathParameters {
263263
AngleBracketedParameters(AngleBracketedParameterData {
264264
lifetimes: Vec::new(),
265-
types: OwnedSlice::empty(),
266-
bindings: OwnedSlice::empty(),
265+
types: OwnedSlice::new(),
266+
bindings: OwnedSlice::new(),
267267
})
268268
}
269269

src/libsyntax/ast_util.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ pub fn ident_to_path(s: Span, identifier: Ident) -> Path {
178178
identifier: identifier,
179179
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
180180
lifetimes: Vec::new(),
181-
types: OwnedSlice::empty(),
182-
bindings: OwnedSlice::empty(),
181+
types: OwnedSlice::new(),
182+
bindings: OwnedSlice::new(),
183183
})
184184
}
185185
),
@@ -239,7 +239,7 @@ pub fn struct_field_visibility(field: ast::StructField) -> Visibility {
239239
pub fn empty_generics() -> Generics {
240240
Generics {
241241
lifetimes: Vec::new(),
242-
ty_params: OwnedSlice::empty(),
242+
ty_params: OwnedSlice::new(),
243243
where_clause: WhereClause {
244244
id: DUMMY_NODE_ID,
245245
predicates: Vec::new(),

src/libsyntax/ext/build.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,8 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
332332
identifier: last_identifier,
333333
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
334334
lifetimes: lifetimes,
335-
types: OwnedSlice::from_vec(types),
336-
bindings: OwnedSlice::from_vec(bindings),
335+
types: OwnedSlice::from(types),
336+
bindings: OwnedSlice::from(bindings),
337337
})
338338
});
339339
ast::Path {
@@ -370,8 +370,8 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
370370
identifier: ident,
371371
parameters: ast::AngleBracketedParameters(ast::AngleBracketedParameterData {
372372
lifetimes: lifetimes,
373-
types: OwnedSlice::from_vec(types),
374-
bindings: OwnedSlice::from_vec(bindings),
373+
types: OwnedSlice::from(types),
374+
bindings: OwnedSlice::from(bindings),
375375
})
376376
});
377377

src/libsyntax/ext/deriving/generic/mod.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,11 @@ use ext::build::AstBuilder;
204204
use codemap::{self, DUMMY_SP};
205205
use codemap::Span;
206206
use diagnostic::SpanHandler;
207-
use util::move_map::MoveMap;
208207
use owned_slice::OwnedSlice;
209208
use parse::token::{intern, InternedString};
210209
use parse::token::special_idents;
211210
use ptr::P;
211+
use util::MoveMap;
212212

213213
use self::ty::{LifetimeBounds, Path, Ptr, PtrTy, Self_, Ty};
214214

@@ -490,7 +490,7 @@ impl<'a> TraitDef<'a> {
490490

491491
let Generics { mut lifetimes, ty_params, mut where_clause } =
492492
self.generics.to_generics(cx, self.span, type_ident, generics);
493-
let mut ty_params = ty_params.into_vec();
493+
let mut ty_params: Vec<_> = ty_params.into();
494494

495495
// Copy the lifetimes
496496
lifetimes.extend(generics.lifetimes.iter().cloned());
@@ -516,7 +516,7 @@ impl<'a> TraitDef<'a> {
516516

517517
cx.typaram(self.span,
518518
ty_param.ident,
519-
OwnedSlice::from_vec(bounds),
519+
OwnedSlice::from(bounds),
520520
None)
521521
}));
522522

@@ -528,7 +528,7 @@ impl<'a> TraitDef<'a> {
528528
span: self.span,
529529
bound_lifetimes: wb.bound_lifetimes.clone(),
530530
bounded_ty: wb.bounded_ty.clone(),
531-
bounds: OwnedSlice::from_vec(wb.bounds.iter().cloned().collect())
531+
bounds: wb.bounds.iter().cloned().collect()
532532
})
533533
}
534534
ast::WherePredicate::RegionPredicate(ref rb) => {
@@ -579,7 +579,7 @@ impl<'a> TraitDef<'a> {
579579
span: self.span,
580580
bound_lifetimes: vec![],
581581
bounded_ty: ty,
582-
bounds: OwnedSlice::from_vec(bounds),
582+
bounds: OwnedSlice::from(bounds),
583583
};
584584

585585
let predicate = ast::WherePredicate::BoundPredicate(predicate);
@@ -590,17 +590,17 @@ impl<'a> TraitDef<'a> {
590590

591591
let trait_generics = Generics {
592592
lifetimes: lifetimes,
593-
ty_params: OwnedSlice::from_vec(ty_params),
593+
ty_params: OwnedSlice::from(ty_params),
594594
where_clause: where_clause
595595
};
596596

597597
// Create the reference to the trait.
598598
let trait_ref = cx.trait_ref(trait_path);
599599

600600
// Create the type parameters on the `self` path.
601-
let self_ty_params = generics.ty_params.map(|ty_param| {
601+
let self_ty_params = generics.ty_params.iter().map(|ty_param| {
602602
cx.ty_ident(self.span, ty_param.ident)
603-
});
603+
}).collect();
604604

605605
let self_lifetimes: Vec<ast::Lifetime> =
606606
generics.lifetimes
@@ -611,7 +611,7 @@ impl<'a> TraitDef<'a> {
611611
// Create the type of `self`.
612612
let self_type = cx.ty_path(
613613
cx.path_all(self.span, false, vec!( type_ident ), self_lifetimes,
614-
self_ty_params.into_vec(), Vec::new()));
614+
self_ty_params, Vec::new()));
615615

616616
let attr = cx.attribute(
617617
self.span,

src/libsyntax/ext/deriving/generic/ty.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,15 +169,15 @@ impl<'a> Ty<'a> {
169169
-> ast::Path {
170170
match *self {
171171
Self_ => {
172-
let self_params = self_generics.ty_params.map(|ty_param| {
172+
let self_params = self_generics.ty_params.iter().map(|ty_param| {
173173
cx.ty_ident(span, ty_param.ident)
174-
});
174+
}).collect();
175175
let lifetimes = self_generics.lifetimes.iter()
176176
.map(|d| d.lifetime)
177177
.collect();
178178

179179
cx.path_all(span, false, vec!(self_ty), lifetimes,
180-
self_params.into_vec(), Vec::new())
180+
self_params, Vec::new())
181181
}
182182
Literal(ref p) => {
183183
p.to_path(cx, span, self_ty, self_generics)
@@ -208,7 +208,7 @@ fn mk_generics(lifetimes: Vec<ast::LifetimeDef>, ty_params: Vec<ast::TyParam>)
208208
-> Generics {
209209
Generics {
210210
lifetimes: lifetimes,
211-
ty_params: OwnedSlice::from_vec(ty_params),
211+
ty_params: OwnedSlice::from(ty_params),
212212
where_clause: ast::WhereClause {
213213
id: ast::DUMMY_NODE_ID,
214214
predicates: Vec::new(),

src/libsyntax/ext/expand.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ use util::small_vector::SmallVector;
3232
use visit;
3333
use visit::Visitor;
3434
use std_inject;
35+
use util::MoveMap;
3536

3637
use std::collections::HashSet;
3738

src/libsyntax/fold.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ use codemap::{respan, Span, Spanned};
2626
use owned_slice::OwnedSlice;
2727
use parse::token;
2828
use ptr::P;
29+
use util::MoveMap;
2930
use util::small_vector::SmallVector;
30-
use util::move_map::MoveMap;
3131

3232
use std::rc::Rc;
3333

src/libsyntax/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ macro_rules! panictry {
6262
}
6363

6464
pub mod util {
65+
pub use self::move_map::MoveMap;
66+
6567
pub mod interner;
6668
pub mod lev_distance;
69+
pub mod move_map;
6770
pub mod node_count;
6871
pub mod parser;
6972
#[cfg(test)]

0 commit comments

Comments
 (0)