diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-02-18 14:31:55 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-02-18 14:31:55 -0800 |
| commit | c07ec507e26ed5ecde63bf7138b09592d9001fb2 (patch) | |
| tree | 25b5b50cf3c9a1b73455e3cc629acd6abb3be990 /src/libsyntax/print | |
| parent | c5fddd81ab47ddbfd5525210fb1536472de399b8 (diff) | |
| parent | d2f54e663400b98c368710669ad9a966fa950803 (diff) | |
| download | rust-c07ec507e26ed5ecde63bf7138b09592d9001fb2.tar.gz rust-c07ec507e26ed5ecde63bf7138b09592d9001fb2.zip | |
rollup merge of #22287: Ryman/purge_carthographers
This overlaps with #22276 (I left make check running overnight) but covers a number of additional cases and has a few rewrites where the clones are not even necessary. This also implements `RandomAccessIterator` for `iter::Cloned` cc @steveklabnik, you may want to glance at this before #22281 gets the bors treatment
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 4b021f2434f..77421858976 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -983,15 +983,14 @@ impl<'a> State<'a> { try!(self.word_nbsp("trait")); try!(self.print_ident(item.ident)); try!(self.print_generics(generics)); - let bounds: Vec<_> = bounds.iter().map(|b| b.clone()).collect(); let mut real_bounds = Vec::with_capacity(bounds.len()); - for b in bounds { - if let TraitTyParamBound(ref ptr, ast::TraitBoundModifier::Maybe) = b { + for b in bounds.iter() { + if let TraitTyParamBound(ref ptr, ast::TraitBoundModifier::Maybe) = *b { try!(space(&mut self.s)); try!(self.word_space("for ?")); try!(self.print_trait_ref(&ptr.trait_ref)); } else { - real_bounds.push(b); + real_bounds.push(b.clone()); } } try!(self.print_bounds(":", &real_bounds[])); |
