From 5ea959dc8bfdf0dd62fd8ac611ba4e9e8d75c69d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20K=C3=A5re=20Alsaker?= Date: Sat, 16 Mar 2019 09:30:05 +0100 Subject: [PATCH] Convert symbols to strings for pretty printing --- src/librustc/hir/print.rs | 6 +++--- src/libsyntax/print/pp.rs | 11 ++++------- src/libsyntax/print/pprust.rs | 14 +++++++------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index 0a65473de8f..d1020a2d151 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -622,7 +622,7 @@ impl<'a> State<'a> { } hir::ItemKind::GlobalAsm(ref ga) => { self.head(visibility_qualified(&item.vis, "global asm"))?; - self.s.word(ga.asm.as_str().get())?; + self.s.word(ga.asm.as_str().to_string())?; self.end()? } hir::ItemKind::Ty(ref ty, ref generics) => { @@ -1591,7 +1591,7 @@ impl<'a> State<'a> { if ident.is_raw_guess() { self.s.word(format!("r#{}", ident.name))?; } else { - self.s.word(ident.as_str().get())?; + self.s.word(ident.as_str().to_string())?; } self.ann.post(self, AnnNode::Name(&ident.name)) } @@ -1998,7 +1998,7 @@ impl<'a> State<'a> { self.commasep(Inconsistent, &decl.inputs, |s, ty| { s.ibox(indent_unit)?; if let Some(arg_name) = arg_names.get(i) { - s.s.word(arg_name.as_str().get())?; + s.s.word(arg_name.as_str().to_string())?; s.s.word(":")?; s.s.space()?; } else if let Some(body_id) = body_id { diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs index 740ca229030..d8a8cbb655b 100644 --- a/src/libsyntax/print/pp.rs +++ b/src/libsyntax/print/pp.rs @@ -369,7 +369,7 @@ impl<'a> Printer<'a> { Ok(()) } - fn pretty_print_string<'s>(&mut self, s: Cow<'s, str>, len: isize) -> io::Result<()> { + fn pretty_print_string(&mut self, s: Cow<'static, str>, len: isize) -> io::Result<()> { if self.scan_stack.is_empty() { debug!("pp String('{}')/print Vec<{},{}>", s, self.left, self.right); @@ -378,10 +378,7 @@ impl<'a> Printer<'a> { debug!("pp String('{}')/buffer Vec<{},{}>", s, self.left, self.right); self.advance_right(); - self.buf[self.right] = BufEntry { - token: Token::String(s.into_owned().into(), len), - size: len - }; + self.buf[self.right] = BufEntry { token: Token::String(s, len), size: len }; self.right_total += len; self.check_stream() } @@ -579,7 +576,7 @@ impl<'a> Printer<'a> { } } - pub fn print_string(&mut self, s: Cow<'_, str>, len: isize) -> io::Result<()> { + pub fn print_string(&mut self, s: Cow<'static, str>, len: isize) -> io::Result<()> { debug!("print String({})", s); // assert!(len <= space); self.space -= len; @@ -644,7 +641,7 @@ impl<'a> Printer<'a> { self.pretty_print_eof() } - pub fn word<'s, S: Into>>(&mut self, wrd: S) -> io::Result<()> { + pub fn word>>(&mut self, wrd: S) -> io::Result<()> { let s = wrd.into(); let len = s.len() as isize; self.pretty_print_string(s, len) diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index f5a9aded845..ca05ff71c94 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -645,7 +645,7 @@ pub trait PrintState<'a> { ast::LitKind::Float(ref f, t) => { self.writer().word(format!("{}{}", &f, t.ty_to_string())) } - ast::LitKind::FloatUnsuffixed(ref f) => self.writer().word(f.as_str().get()), + ast::LitKind::FloatUnsuffixed(ref f) => self.writer().word(f.as_str().to_string()), ast::LitKind::Bool(val) => { if val { self.writer().word("true") } else { self.writer().word("false") } } @@ -731,7 +731,7 @@ pub trait PrintState<'a> { if segment.ident.name == keywords::DollarCrate.name() { self.print_dollar_crate(segment.ident)?; } else { - self.writer().word(segment.ident.as_str().get())?; + self.writer().word(segment.ident.as_str().to_string())?; } } } @@ -749,7 +749,7 @@ pub trait PrintState<'a> { } self.maybe_print_comment(attr.span.lo())?; if attr.is_sugared_doc { - self.writer().word(attr.value_str().unwrap().as_str().get())?; + self.writer().word(attr.value_str().unwrap().as_str().to_string())?; self.writer().hardbreak() } else { match attr.style { @@ -858,7 +858,7 @@ pub trait PrintState<'a> { if !ast::Ident::with_empty_ctxt(name).is_path_segment_keyword() { self.writer().word("::")?; } - self.writer().word(name.as_str().get()) + self.writer().word(name.as_str().to_string()) } } @@ -1300,7 +1300,7 @@ impl<'a> State<'a> { } ast::ItemKind::GlobalAsm(ref ga) => { self.head(visibility_qualified(&item.vis, "global_asm!"))?; - self.s.word(ga.asm.as_str().get())?; + self.s.word(ga.asm.as_str().to_string())?; self.end()?; } ast::ItemKind::Ty(ref ty, ref generics) => { @@ -2437,7 +2437,7 @@ impl<'a> State<'a> { if ident.is_raw_guess() { self.s.word(format!("r#{}", ident))?; } else { - self.s.word(ident.as_str().get())?; + self.s.word(ident.as_str().to_string())?; } self.ann.post(self, AnnNode::Ident(&ident)) } @@ -2447,7 +2447,7 @@ impl<'a> State<'a> { } pub fn print_name(&mut self, name: ast::Name) -> io::Result<()> { - self.s.word(name.as_str().get())?; + self.s.word(name.as_str().to_string())?; self.ann.post(self, AnnNode::Name(&name)) }