Fix comment formatting wrongly assuming false invariant.

This commit is contained in:
KtorZ 2023-03-16 23:33:02 +01:00 committed by Lucas
parent 57e217e81c
commit 660ca3fada
4 changed files with 43 additions and 48 deletions

View File

@ -1799,9 +1799,11 @@ fn printed_comments<'a, 'comments>(
let mut doc = Vec::new();
while let Some(c) = comments.next() {
match c {
None => continue,
Some(c) => {
// There will never be consecutive empty lines (None values),
// and whenever we peek a None, we advance past it.
let c = c.expect("no consecutive empty lines");
doc.push("//".to_doc().append(Document::String(c.to_string())));
match comments.peek() {
// Next line is a comment
@ -1826,6 +1828,8 @@ fn printed_comments<'a, 'comments>(
}
}
}
}
}
let doc = concat(doc);
if trailing_newline {
Some(doc.force_break())

View File

@ -322,25 +322,6 @@ fn utf8_hex_literal_warning() {
))
}
#[test]
fn weird_comments() {
let source_code = r#"
// A
/// B
// C
fn foo () {
todo
}
"#;
assert!(matches!(
check(parse(source_code)),
Err((_, Error::UnexpectedDocComment { .. }))
))
}
#[test]
fn discarded_let_bindings() {
let source_code = r#"

View File

@ -638,6 +638,15 @@ fn weird_comments() {
/// B
/// C
fn foo() {
todo
}
// E
/// F
// G
fn bar() {
todo
}
@ -648,6 +657,14 @@ fn weird_comments() {
/// B
/// C
fn foo() {
todo
}
// E
// G
/// F
fn bar() {
todo
}

View File

@ -892,13 +892,6 @@ The best thing to do from here is to remove it."#))]
#[label("{} arguments", if *count < 2 { "not enough" } else { "too many" })]
location: Span,
},
#[error("I ran into a lonely doc comment not attached to any function definition.")]
#[diagnostic(code("unexpected::doc_comment"))]
UnexpectedDocComment {
#[label("unexpected doc comment")]
location: Span,
},
}
impl Error {