diff options
| author | David Tolnay <dtolnay@gmail.com> | 2022-01-21 14:15:14 -0800 |
|---|---|---|
| committer | David Tolnay <dtolnay@gmail.com> | 2022-02-03 10:59:09 -0800 |
| commit | 8bdf08fbed2fba60e41dadb3be9714b4c0441f72 (patch) | |
| tree | 18ebf6319abe87a9c5e760b7c987ba13813ac551 | |
| parent | 0b7e1baa58dea7cfb1170a361e12c3dec8e76840 (diff) | |
| download | rust-8bdf08fbed2fba60e41dadb3be9714b4c0441f72.tar.gz rust-8bdf08fbed2fba60e41dadb3be9714b4c0441f72.zip | |
Change pp indent to signed to allow negative indents
| -rw-r--r-- | compiler/rustc_ast_pretty/src/pp.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_ast_pretty/src/pp/convenience.rs | 11 | ||||
| -rw-r--r-- | compiler/rustc_ast_pretty/src/pprust/state.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_hir_pretty/src/lib.rs | 2 |
4 files changed, 9 insertions, 10 deletions
diff --git a/compiler/rustc_ast_pretty/src/pp.rs b/compiler/rustc_ast_pretty/src/pp.rs index 2433b8fb74f..7f03f98f1a2 100644 --- a/compiler/rustc_ast_pretty/src/pp.rs +++ b/compiler/rustc_ast_pretty/src/pp.rs @@ -392,7 +392,9 @@ impl Printer { if size > self.space { self.print_stack.push(PrintFrame::Broken { indent: self.indent, breaks: token.breaks }); self.indent = match token.indent { - IndentStyle::Block { offset } => (self.indent as isize + offset) as usize, + IndentStyle::Block { offset } => { + usize::try_from(self.indent as isize + offset).unwrap() + } IndentStyle::Visual => (MARGIN - self.space) as usize, }; } else { diff --git a/compiler/rustc_ast_pretty/src/pp/convenience.rs b/compiler/rustc_ast_pretty/src/pp/convenience.rs index b9bfafa52ae..785e6886d8a 100644 --- a/compiler/rustc_ast_pretty/src/pp/convenience.rs +++ b/compiler/rustc_ast_pretty/src/pp/convenience.rs @@ -3,20 +3,17 @@ use std::borrow::Cow; impl Printer { /// "raw box" - pub fn rbox(&mut self, indent: usize, breaks: Breaks) { - self.scan_begin(BeginToken { - indent: IndentStyle::Block { offset: indent as isize }, - breaks, - }) + pub fn rbox(&mut self, indent: isize, breaks: Breaks) { + self.scan_begin(BeginToken { indent: IndentStyle::Block { offset: indent }, breaks }) } /// Inconsistent breaking box - pub fn ibox(&mut self, indent: usize) { + pub fn ibox(&mut self, indent: isize) { self.rbox(indent, Breaks::Inconsistent) } /// Consistent breaking box - pub fn cbox(&mut self, indent: usize) { + pub fn cbox(&mut self, indent: isize) { self.rbox(indent, Breaks::Consistent) } diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index b575dc21961..e88d37ec102 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -92,7 +92,7 @@ pub struct State<'a> { ann: &'a (dyn PpAnn + 'a), } -crate const INDENT_UNIT: usize = 4; +crate const INDENT_UNIT: isize = 4; /// Requires you to pass an input filename and reader so that /// it can scan the input text for comments to copy forward. diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs index a47ebaf1237..13008a83379 100644 --- a/compiler/rustc_hir_pretty/src/lib.rs +++ b/compiler/rustc_hir_pretty/src/lib.rs @@ -139,7 +139,7 @@ impl<'a> PrintState<'a> for State<'a> { } } -pub const INDENT_UNIT: usize = 4; +pub const INDENT_UNIT: isize = 4; /// Requires you to pass an input filename and reader so that /// it can scan the input text for comments to copy forward. |
