diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2019-07-12 14:01:13 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2019-07-12 14:01:13 -0700 |
| commit | 726aa1437ff639927758da17bfbdee85f9bceda4 (patch) | |
| tree | d42af499fd85195e9db21debdb259d30bd62ed09 /src/libsyntax | |
| parent | 4bb6b4a5ed1cd377c5cfd97721ad12f52e63dd41 (diff) | |
| download | rust-726aa1437ff639927758da17bfbdee85f9bceda4.tar.gz rust-726aa1437ff639927758da17bfbdee85f9bceda4.zip | |
Use snippet instead of pprinting statement
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 30 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 3 |
2 files changed, 14 insertions, 19 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 83dbff6b2d5..c79ccf21ba1 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4378,9 +4378,10 @@ impl<'a> Parser<'a> { Ok(Some(self.mk_item(span, ident, ItemKind::MacroDef(def), vis.clone(), attrs.to_vec()))) } - fn parse_stmt_without_recovery(&mut self, - macro_legacy_warnings: bool) - -> PResult<'a, Option<Stmt>> { + fn parse_stmt_without_recovery( + &mut self, + macro_legacy_warnings: bool, + ) -> PResult<'a, Option<Stmt>> { maybe_whole!(self, NtStmt, |x| Some(x)); let attrs = self.parse_outer_attributes()?; @@ -4586,20 +4587,15 @@ impl<'a> Parser<'a> { if self.eat(&token::Semi) { stmt_span = stmt_span.with_hi(self.prev_span.hi()); } - let sugg = pprust::to_string(|s| { - use crate::print::pprust::INDENT_UNIT; - s.ibox(INDENT_UNIT); - s.bopen(); - s.print_stmt(&stmt); - s.bclose_maybe_open(stmt.span, false) - }); - e.span_suggestion( - stmt_span, - "try placing this code inside a block", - sugg, - // speculative, has been misleading in the past (closed Issue #46836) - Applicability::MaybeIncorrect - ); + if let Ok(snippet) = self.sess.source_map().span_to_snippet(stmt_span) { + e.span_suggestion( + stmt_span, + "try placing this code inside a block", + format!("{{ {} }}", snippet), + // speculative, has been misleading in the past (#46836) + Applicability::MaybeIncorrect, + ); + } } Err(mut e) => { self.recover_stmt_(SemiColonMode::Break, BlockMode::Ignore); diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 3b6064fcdf7..0e3ce2787f3 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -745,8 +745,7 @@ impl<'a> State<'a> { self.bclose_maybe_open(span, true) } - crate fn break_offset_if_not_bol(&mut self, n: usize, - off: isize) { + crate fn break_offset_if_not_bol(&mut self, n: usize, off: isize) { if !self.s.is_beginning_of_line() { self.s.break_offset(n, off) } else { |
