pub fn none() -> PathParameters {
PathParameters::AngleBracketed(AngleBracketedParameterData {
lifetimes: Vec::new(),
- types: P::empty(),
- bindings: P::empty(),
+ types: P::new(),
+ bindings: P::new(),
})
}
fn default() -> Generics {
Generics {
lifetimes: Vec::new(),
- ty_params: P::empty(),
+ ty_params: P::new(),
where_clause: WhereClause {
id: DUMMY_NODE_ID,
predicates: Vec::new(),
pub mod entry;
pub mod feature_gate;
pub mod fold;
-pub mod owned_slice;
pub mod parse;
pub mod ptr;
pub mod show_span;
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-/// A non-growable owned slice.
-#[unstable(feature = "rustc_private", issue = "0")]
-#[rustc_deprecated(since = "1.7.0", reason = "use `ptr::P<[T]>` instead")]
-pub type OwnedSlice<T> = ::ptr::P<[T]>;
Abi::Rust,
ast::Generics{ // no idea on either of these:
lifetimes: Vec::new(),
- ty_params: P::empty(),
+ ty_params: P::new(),
where_clause: ast::WhereClause {
id: ast::DUMMY_NODE_ID,
predicates: Vec::new(),
let other_bounds = if self.eat(&token::BinOp(token::Plus)) {
self.parse_ty_param_bounds(BoundParsingMode::Bare)?
} else {
- P::empty()
+ P::new()
};
let all_bounds =
Some(TraitTyParamBound(poly_trait_ref, TraitBoundModifier::None)).into_iter()
-> PResult<'a, TyParamBounds>
{
if !self.eat(&token::Colon) {
- Ok(P::empty())
+ Ok(P::new())
} else {
self.parse_ty_param_bounds(mode)
}
ast::TyKind::BareFn(ref f) => {
let generics = ast::Generics {
lifetimes: f.lifetimes.clone(),
- ty_params: P::empty(),
+ ty_params: P::new(),
where_clause: ast::WhereClause {
id: ast::DUMMY_NODE_ID,
predicates: Vec::new(),
}
let generics = ast::Generics {
lifetimes: Vec::new(),
- ty_params: P::empty(),
+ ty_params: P::new(),
where_clause: ast::WhereClause {
id: ast::DUMMY_NODE_ID,
predicates: Vec::new(),
}
}
-impl<T> Deref for P<T> {
+impl<T: ?Sized> Deref for P<T> {
type Target = T;
- fn deref<'a>(&'a self) -> &'a T {
+ fn deref(&self) -> &T {
&self.ptr
}
}
}
}
-impl<T: Debug> Debug for P<T> {
+impl<T: ?Sized + Debug> Debug for P<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- Debug::fmt(&**self, f)
+ Debug::fmt(&self.ptr, f)
}
}
+
impl<T: Display> Display for P<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
Display::fmt(&**self, f)
}
}
-
-impl<T:fmt::Debug> fmt::Debug for P<[T]> {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- self.ptr.fmt(fmt)
- }
-}
-
impl<T> P<[T]> {
pub fn new() -> P<[T]> {
- P::empty()
- }
-
- pub fn empty() -> P<[T]> {
P { ptr: Default::default() }
}
pub fn into_vec(self) -> Vec<T> {
self.ptr.into_vec()
}
-
- pub fn as_slice<'a>(&'a self) -> &'a [T] {
- &self.ptr
- }
-
- pub fn move_iter(self) -> vec::IntoIter<T> {
- self.into_vec().into_iter()
- }
-
- pub fn map<U, F: FnMut(&T) -> U>(&self, f: F) -> P<[U]> {
- self.iter().map(f).collect()
- }
-}
-
-impl<T> Deref for P<[T]> {
- type Target = [T];
-
- fn deref(&self) -> &[T] {
- self.as_slice()
- }
}
impl<T> Default for P<[T]> {
fn default() -> P<[T]> {
- P::empty()
+ P::new()
}
}
span: self.span,
bound_lifetimes: wb.bound_lifetimes.clone(),
bounded_ty: wb.bounded_ty.clone(),
- bounds: P::from_vec(wb.bounds.iter().cloned().collect())
+ bounds: wb.bounds.iter().cloned().collect(),
})
}
ast::WherePredicate::RegionPredicate(ref rb) => {
let trait_ref = cx.trait_ref(trait_path);
// Create the type parameters on the `self` path.
- let self_ty_params = generics.ty_params.map(|ty_param| {
+ let self_ty_params = generics.ty_params.iter().map(|ty_param| {
cx.ty_ident(self.span, ty_param.ident)
- });
+ }).collect();
let self_lifetimes: Vec<ast::Lifetime> =
generics.lifetimes
// Create the type of `self`.
let self_type = cx.ty_path(
cx.path_all(self.span, false, vec!( type_ident ), self_lifetimes,
- self_ty_params.into_vec(), Vec::new()));
+ self_ty_params, Vec::new()));
let attr = cx.attribute(
self.span,
-> ast::Path {
match *self {
Self_ => {
- let self_params = self_generics.ty_params.map(|ty_param| {
+ let self_params = self_generics.ty_params.iter().map(|ty_param| {
cx.ty_ident(span, ty_param.ident)
- });
+ }).collect();
let lifetimes = self_generics.lifetimes.iter()
.map(|d| d.lifetime)
.collect();
- cx.path_all(span, false, vec!(self_ty), lifetimes,
- self_params.into_vec(), Vec::new())
+ cx.path_all(span, false, vec![self_ty], lifetimes, self_params, Vec::new())
}
Literal(ref p) => {
p.to_path(cx, span, self_ty, self_generics)