pprust: support multiline comments within lines
This commit adds support to rustc_ast_pretty for multiline comments that start and end within a line of source code. Signed-off-by: David Wood <david@davidtw.co>
This commit is contained in:
parent
346aec9b02
commit
083c2f6ceb
@ -450,9 +450,20 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
|
||||
fn print_comment(&mut self, cmnt: &comments::Comment) {
|
||||
match cmnt.style {
|
||||
comments::Mixed => {
|
||||
assert_eq!(cmnt.lines.len(), 1);
|
||||
self.zerobreak();
|
||||
self.word(cmnt.lines[0].clone());
|
||||
if let Some((last, lines)) = cmnt.lines.split_last() {
|
||||
self.ibox(0);
|
||||
|
||||
for line in lines {
|
||||
self.word(line.clone());
|
||||
self.hardbreak()
|
||||
}
|
||||
|
||||
self.word(last.clone());
|
||||
self.space();
|
||||
|
||||
self.end();
|
||||
}
|
||||
self.zerobreak()
|
||||
}
|
||||
comments::Isolated => {
|
||||
|
34
src/test/pretty/issue-73626.rs
Normal file
34
src/test/pretty/issue-73626.rs
Normal file
@ -0,0 +1,34 @@
|
||||
fn main(/*
|
||||
---
|
||||
*/) {
|
||||
let x /* this is one line */ = 3;
|
||||
|
||||
let x /*
|
||||
* this
|
||||
* is
|
||||
* multiple
|
||||
* lines
|
||||
*/ = 3;
|
||||
|
||||
let x = /*
|
||||
* this
|
||||
* is
|
||||
* multiple
|
||||
* lines
|
||||
* after
|
||||
* the
|
||||
* =
|
||||
*/ 3;
|
||||
|
||||
let x /*
|
||||
* this
|
||||
* is
|
||||
* multiple
|
||||
* lines
|
||||
* including
|
||||
* a
|
||||
|
||||
* blank
|
||||
* line
|
||||
*/ = 3;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user