impl Visibility {
pub fn inherit_from(&self, parent_visibility: Visibility) -> Visibility {
- match self {
- &Inherited => parent_visibility,
- &Public => *self
+ match *self {
+ Inherited => parent_visibility,
+ Public => *self
}
}
}
cx.lifetime_def(span, cx.ident_of(*lt).name, bounds)
}).collect();
let ty_params = self.bounds.iter().map(|t| {
- match t {
- &(ref name, ref bounds) => {
+ match *t {
+ (ref name, ref bounds) => {
mk_ty_param(cx,
span,
*name,
impl<T: ToTokens> ToTokens for Option<T> {
fn to_tokens(&self, cx: &ExtCtxt) -> Vec<TokenTree> {
- match self {
- &Some(ref t) => t.to_tokens(cx),
- &None => Vec::new(),
+ match *self {
+ Some(ref t) => t.to_tokens(cx),
+ None => Vec::new(),
}
}
}
impl TokenTreeOrTokenTreeVec {
fn len(&self) -> usize {
- match self {
- &TtSeq(ref v) => v.len(),
- &Tt(ref tt) => tt.len(),
+ match *self {
+ TtSeq(ref v) => v.len(),
+ Tt(ref tt) => tt.len(),
}
}
fn get_tt(&self, index: usize) -> TokenTree {
- match self {
- &TtSeq(ref v) => v[index].clone(),
- &Tt(ref tt) => tt.get_tt(index),
+ match *self {
+ TtSeq(ref v) => v[index].clone(),
+ Tt(ref tt) => tt.get_tt(index),
}
}
}
pub fn count_names(ms: &[TokenTree]) -> usize {
ms.iter().fold(0, |count, elt| {
- count + match elt {
- &TokenTree::Sequence(_, ref seq) => {
+ count + match *elt {
+ TokenTree::Sequence(_, ref seq) => {
seq.num_captures
}
- &TokenTree::Delimited(_, ref delim) => {
+ TokenTree::Delimited(_, ref delim) => {
count_names(&delim.tts)
}
- &TokenTree::Token(_, MatchNt(..)) => {
+ TokenTree::Token(_, MatchNt(..)) => {
1
}
- &TokenTree::Token(_, _) => 0,
+ TokenTree::Token(_, _) => 0,
}
})
}
-> HashMap<Name, Rc<NamedMatch>> {
fn n_rec(p_s: &ParseSess, m: &TokenTree, res: &[Rc<NamedMatch>],
ret_val: &mut HashMap<Name, Rc<NamedMatch>>, idx: &mut usize) {
- match m {
- &TokenTree::Sequence(_, ref seq) => {
+ match *m {
+ TokenTree::Sequence(_, ref seq) => {
for next_m in &seq.tts {
n_rec(p_s, next_m, res, ret_val, idx)
}
}
- &TokenTree::Delimited(_, ref delim) => {
+ TokenTree::Delimited(_, ref delim) => {
for next_m in &delim.tts {
n_rec(p_s, next_m, res, ret_val, idx)
}
}
- &TokenTree::Token(sp, MatchNt(bind_name, _, _, _)) => {
+ TokenTree::Token(sp, MatchNt(bind_name, _, _, _)) => {
match ret_val.entry(bind_name.name) {
Vacant(spot) => {
spot.insert(res[*idx].clone());
}
}
}
- &TokenTree::Token(_, SubstNt(..)) => panic!("Cannot fill in a NT"),
- &TokenTree::Token(_, _) => (),
+ TokenTree::Token(_, SubstNt(..)) => panic!("Cannot fill in a NT"),
+ TokenTree::Token(_, _) => (),
}
}
let mut ret_val = HashMap::new();
_ => {}
}
- match opt_trait {
- &Some(ref t) => {
+ match *opt_trait {
+ Some(ref t) => {
try!(self.print_trait_ref(t));
try!(space(&mut self.s));
try!(self.word_space("for"));
}
- &None => {}
+ None => {}
}
try!(self.print_type(&**ty));
try!(self.print_tt(tt));
// There should be no space between the module name and the following `::` in paths,
// otherwise imported macros get re-parsed from crate metadata incorrectly (#20701)
- suppress_space = match tt {
- &TokenTree::Token(_, token::Ident(_, token::ModName)) |
- &TokenTree::Token(_, token::MatchNt(_, _, _, token::ModName)) |
- &TokenTree::Token(_, token::SubstNt(_, token::ModName)) => true,
+ suppress_space = match *tt {
+ TokenTree::Token(_, token::Ident(_, token::ModName)) |
+ TokenTree::Token(_, token::MatchNt(_, _, _, token::ModName)) |
+ TokenTree::Token(_, token::SubstNt(_, token::ModName)) => true,
_ => false
}
}
try!(self.rbox(0, Inconsistent));
let mut first = true;
if let Some(explicit_self) = opt_explicit_self {
- let m = match explicit_self {
- &ast::SelfStatic => ast::MutImmutable,
+ let m = match *explicit_self {
+ ast::SelfStatic => ast::MutImmutable,
_ => match decl.inputs[0].pat.node {
ast::PatIdent(ast::BindByValue(m), _, _) => m,
_ => ast::MutImmutable
try!(self.word_space(","));
}
- match predicate {
- &ast::WherePredicate::BoundPredicate(ast::WhereBoundPredicate{ref bound_lifetimes,
- ref bounded_ty,
- ref bounds,
- ..}) => {
+ match *predicate {
+ ast::WherePredicate::BoundPredicate(ast::WhereBoundPredicate{ref bound_lifetimes,
+ ref bounded_ty,
+ ref bounds,
+ ..}) => {
try!(self.print_formal_lifetime_list(bound_lifetimes));
try!(self.print_type(&**bounded_ty));
try!(self.print_bounds(":", bounds));
}
- &ast::WherePredicate::RegionPredicate(ast::WhereRegionPredicate{ref lifetime,
- ref bounds,
- ..}) => {
+ ast::WherePredicate::RegionPredicate(ast::WhereRegionPredicate{ref lifetime,
+ ref bounds,
+ ..}) => {
try!(self.print_lifetime(lifetime));
try!(word(&mut self.s, ":"));
}
}
}
- &ast::WherePredicate::EqPredicate(ast::WhereEqPredicate{ref path, ref ty, ..}) => {
+ ast::WherePredicate::EqPredicate(ast::WhereEqPredicate{ref path, ref ty, ..}) => {
try!(self.print_path(path, false, 0));
try!(space(&mut self.s));
try!(self.word_space("="));
let has_test_attr = attr::contains_name(&i.attrs, "test");
fn has_test_signature(i: &ast::Item) -> HasTestSignature {
- match &i.node {
- &ast::ItemFn(ref decl, _, _, _, ref generics, _) => {
+ match i.node {
+ ast::ItemFn(ref decl, _, _, _, ref generics, _) => {
let no_output = match decl.output {
ast::DefaultReturn(..) => true,
ast::Return(ref t) if t.node == ast::TyTup(vec![]) => true,
}
walk_list!(visitor, visit_lifetime_def, &generics.lifetimes);
for predicate in &generics.where_clause.predicates {
- match predicate {
- &WherePredicate::BoundPredicate(WhereBoundPredicate{ref bounded_ty,
- ref bounds,
- ref bound_lifetimes,
- ..}) => {
+ match *predicate {
+ WherePredicate::BoundPredicate(WhereBoundPredicate{ref bounded_ty,
+ ref bounds,
+ ref bound_lifetimes,
+ ..}) => {
visitor.visit_ty(bounded_ty);
walk_list!(visitor, visit_ty_param_bound, bounds);
walk_list!(visitor, visit_lifetime_def, bound_lifetimes);
}
- &WherePredicate::RegionPredicate(WhereRegionPredicate{ref lifetime,
- ref bounds,
- ..}) => {
+ WherePredicate::RegionPredicate(WhereRegionPredicate{ref lifetime,
+ ref bounds,
+ ..}) => {
visitor.visit_lifetime(lifetime);
walk_list!(visitor, visit_lifetime, bounds);
}
- &WherePredicate::EqPredicate(WhereEqPredicate{id,
- ref path,
- ref ty,
- ..}) => {
+ WherePredicate::EqPredicate(WhereEqPredicate{id,
+ ref path,
+ ref ty,
+ ..}) => {
visitor.visit_path(path, id);
visitor.visit_ty(ty);
}