mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 05:33:27 +00:00
Merge pull request #1973 from rust-lang-nursery/fix-1920
remove stars at the beginning of multiline comments
This commit is contained in:
commit
66346b22ff
2 changed files with 27 additions and 4 deletions
|
@ -109,11 +109,11 @@ pub fn strip_doc_comment_decoration(comment: &str, span: Span) -> (String, Vec<(
|
||||||
if comment.starts_with("/*") {
|
if comment.starts_with("/*") {
|
||||||
let doc = &comment[3..comment.len() - 2];
|
let doc = &comment[3..comment.len() - 2];
|
||||||
let mut sizes = vec![];
|
let mut sizes = vec![];
|
||||||
|
let mut contains_initial_stars = false;
|
||||||
for line in doc.lines() {
|
for line in doc.lines() {
|
||||||
let offset = line.as_ptr() as usize - comment.as_ptr() as usize;
|
let offset = line.as_ptr() as usize - comment.as_ptr() as usize;
|
||||||
debug_assert_eq!(offset as u32 as usize, offset);
|
debug_assert_eq!(offset as u32 as usize, offset);
|
||||||
|
contains_initial_stars |= line.trim_left().starts_with('*');
|
||||||
// +1 for the newline
|
// +1 for the newline
|
||||||
sizes.push((
|
sizes.push((
|
||||||
line.len() + 1,
|
line.len() + 1,
|
||||||
|
@ -123,8 +123,25 @@ pub fn strip_doc_comment_decoration(comment: &str, span: Span) -> (String, Vec<(
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
if !contains_initial_stars {
|
||||||
return (doc.to_string(), sizes);
|
return (doc.to_string(), sizes);
|
||||||
|
}
|
||||||
|
// remove the initial '*'s if any
|
||||||
|
let mut no_stars = String::with_capacity(doc.len());
|
||||||
|
for line in doc.lines() {
|
||||||
|
let mut chars = line.chars();
|
||||||
|
while let Some(c) = chars.next() {
|
||||||
|
if c.is_whitespace() {
|
||||||
|
no_stars.push(c);
|
||||||
|
} else {
|
||||||
|
no_stars.push(if c == '*' { ' ' } else { c });
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
no_stars.push_str(chars.as_str());
|
||||||
|
no_stars.push('\n');
|
||||||
|
}
|
||||||
|
return (no_stars, sizes);
|
||||||
}
|
}
|
||||||
|
|
||||||
panic!("not a doc-comment: {}", comment);
|
panic!("not a doc-comment: {}", comment);
|
||||||
|
|
|
@ -153,3 +153,9 @@ fn issue_902_comment() {}
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
fn issue_1469() {}
|
fn issue_1469() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a doc comment that should not be a list
|
||||||
|
*This would also be an error under a strict common mark interpretation
|
||||||
|
*/
|
||||||
|
fn issue_1920() {}
|
||||||
|
|
Loading…
Reference in a new issue