diff options
Diffstat (limited to 'src/libsyntax/print/pp.rs')
| -rw-r--r-- | src/libsyntax/print/pp.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs index ab0e0f9585c..a15f1ca354b 100644 --- a/src/libsyntax/print/pp.rs +++ b/src/libsyntax/print/pp.rs @@ -65,6 +65,7 @@ pub use self::Token::*; use std::io; use std::string; +use std::iter::repeat; #[deriving(Clone, Copy, PartialEq)] pub enum Breaks { @@ -166,9 +167,9 @@ pub fn mk_printer(out: Box<io::Writer+'static>, linewidth: uint) -> Printer { // fall behind. let n: uint = 3 * linewidth; debug!("mk_printer {}", linewidth); - let token: Vec<Token> = Vec::from_elem(n, Eof); - let size: Vec<int> = Vec::from_elem(n, 0i); - let scan_stack: Vec<uint> = Vec::from_elem(n, 0u); + let token: Vec<Token> = repeat(Eof).take(n).collect(); + let size: Vec<int> = repeat(0i).take(n).collect(); + let scan_stack: Vec<uint> = repeat(0u).take(n).collect(); Printer { out: out, buf_len: n, |
