Skip to content

Commit 04b80a5

Browse files
Drop length from Token::String
It was always set to the string's length
1 parent 5879146 commit 04b80a5

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

src/libsyntax/print/pp.rs

+14-11
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ pub enum Token {
163163
// In practice a string token contains either a `&'static str` or a
164164
// `String`. `Cow` is overkill for this because we never modify the data,
165165
// but it's more convenient than rolling our own more specialized type.
166-
String(Cow<'static, str>, isize),
166+
String(Cow<'static, str>),
167167
Break(BreakToken),
168168
Begin(BeginToken),
169169
End,
@@ -194,7 +194,7 @@ impl Token {
194194
impl fmt::Display for Token {
195195
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
196196
match *self {
197-
Token::String(ref s, len) => write!(f, "STR({},{})", s, len),
197+
Token::String(ref s) => write!(f, "STR({},{})", s, s.len()),
198198
Token::Break(_) => f.write_str("BREAK"),
199199
Token::Begin(_) => f.write_str("BEGIN"),
200200
Token::End => f.write_str("END"),
@@ -358,16 +358,17 @@ impl Printer {
358358
self.right_total += b.blank_space;
359359
}
360360

361-
fn scan_string(&mut self, s: Cow<'static, str>, len: isize) {
361+
fn scan_string(&mut self, s: Cow<'static, str>) {
362362
if self.scan_stack.is_empty() {
363363
debug!("pp String('{}')/print Vec<{},{}>",
364364
s, self.left, self.right);
365-
self.print_string(s, len);
365+
self.print_string(s);
366366
} else {
367367
debug!("pp String('{}')/buffer Vec<{},{}>",
368368
s, self.left, self.right);
369369
self.advance_right();
370-
self.buf[self.right] = BufEntry { token: Token::String(s, len), size: len };
370+
let len = s.len() as isize;
371+
self.buf[self.right] = BufEntry { token: Token::String(s), size: len };
371372
self.right_total += len;
372373
self.check_stream();
373374
}
@@ -430,7 +431,8 @@ impl Printer {
430431

431432
let len = match left {
432433
Token::Break(b) => b.blank_space,
433-
Token::String(_, len) => {
434+
Token::String(ref s) => {
435+
let len = s.len() as isize;
434436
assert_eq!(len, left_size);
435437
len
436438
}
@@ -554,7 +556,8 @@ impl Printer {
554556
}
555557
}
556558

557-
fn print_string(&mut self, s: Cow<'static, str>, len: isize) {
559+
fn print_string(&mut self, s: Cow<'static, str>) {
560+
let len = s.len() as isize;
558561
debug!("print String({})", s);
559562
// assert!(len <= space);
560563
self.space -= len;
@@ -582,9 +585,10 @@ impl Printer {
582585
Token::Begin(b) => self.print_begin(b, l),
583586
Token::End => self.print_end(),
584587
Token::Break(b) => self.print_break(b, l),
585-
Token::String(s, len) => {
588+
Token::String(s) => {
589+
let len = s.len() as isize;
586590
assert_eq!(len, l);
587-
self.print_string(s, len);
591+
self.print_string(s);
588592
}
589593
Token::Eof => panic!(), // Eof should never get here.
590594
}
@@ -628,8 +632,7 @@ impl Printer {
628632

629633
pub fn word<S: Into<Cow<'static, str>>>(&mut self, wrd: S) {
630634
let s = wrd.into();
631-
let len = s.len() as isize;
632-
self.scan_string(s, len)
635+
self.scan_string(s)
633636
}
634637

635638
fn spaces(&mut self, n: usize) {

src/libsyntax/print/pprust.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ pub trait PrintState<'a> {
532532
comments::BlankLine => {
533533
// We need to do at least one, possibly two hardbreaks.
534534
let twice = match self.writer().last_token() {
535-
pp::Token::String(s, _) => ";" == s,
535+
pp::Token::String(s) => ";" == s,
536536
pp::Token::Begin(_) => true,
537537
pp::Token::End => true,
538538
_ => false

0 commit comments

Comments
 (0)