mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 07:00:55 +00:00
commit
3c1d3272dd
2 changed files with 43 additions and 2 deletions
11
src/doc.rs
11
src/doc.rs
|
@ -126,6 +126,7 @@ pub fn check_doc(cx: &EarlyContext, valid_idents: &[String], doc: &str, span: Sp
|
||||||
span
|
span
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let mut new_line = true;
|
||||||
let len = doc.len();
|
let len = doc.len();
|
||||||
let mut chars = doc.char_indices().peekable();
|
let mut chars = doc.char_indices().peekable();
|
||||||
let mut current_word_begin = 0;
|
let mut current_word_begin = 0;
|
||||||
|
@ -133,8 +134,8 @@ pub fn check_doc(cx: &EarlyContext, valid_idents: &[String], doc: &str, span: Sp
|
||||||
match chars.next() {
|
match chars.next() {
|
||||||
Some((_, c)) => {
|
Some((_, c)) => {
|
||||||
match c {
|
match c {
|
||||||
c if c.is_whitespace() => {
|
'#' if new_line => { // don’t warn on titles
|
||||||
current_word_begin = jump_to!(@next_char, chars, len);
|
current_word_begin = jump_to!(chars, '\n', len);
|
||||||
}
|
}
|
||||||
'`' => {
|
'`' => {
|
||||||
current_word_begin = jump_to!(chars, '`', len);
|
current_word_begin = jump_to!(chars, '`', len);
|
||||||
|
@ -171,6 +172,10 @@ pub fn check_doc(cx: &EarlyContext, valid_idents: &[String], doc: &str, span: Sp
|
||||||
None => return,
|
None => return,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// anything that’s neither alphanumeric nor '_' is not part of an ident anyway
|
||||||
|
c if !c.is_alphanumeric() && c != '_' => {
|
||||||
|
current_word_begin = jump_to!(@next_char, chars, len);
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
let end = match chars.find(|&(_, c)| !is_word_char(c)) {
|
let end = match chars.find(|&(_, c)| !is_word_char(c)) {
|
||||||
Some((end, _)) => end,
|
Some((end, _)) => end,
|
||||||
|
@ -181,6 +186,8 @@ pub fn check_doc(cx: &EarlyContext, valid_idents: &[String], doc: &str, span: Sp
|
||||||
current_word_begin = jump_to!(@next_char, chars, len);
|
current_word_begin = jump_to!(@next_char, chars, len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new_line = c == '\n' || (new_line && c.is_whitespace());
|
||||||
}
|
}
|
||||||
None => break,
|
None => break,
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,3 +107,37 @@ fn main() {
|
||||||
test_emphasis();
|
test_emphasis();
|
||||||
test_units();
|
test_units();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// ## CamelCaseThing
|
||||||
|
/// Talks about `CamelCaseThing`. Titles should be ignored, see issue #897.
|
||||||
|
///
|
||||||
|
/// # CamelCaseThing
|
||||||
|
///
|
||||||
|
/// Not a title #897 CamelCaseThing
|
||||||
|
//~^ ERROR: you should put `CamelCaseThing` between ticks
|
||||||
|
/// be_sure_we_got_to_the_end_of_it
|
||||||
|
//~^ ERROR: you should put `be_sure_we_got_to_the_end_of_it` between ticks
|
||||||
|
fn issue897() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// I am confused by brackets? (`x_y`)
|
||||||
|
/// I am confused by brackets? (foo `x_y`)
|
||||||
|
/// I am confused by brackets? (`x_y` foo)
|
||||||
|
/// be_sure_we_got_to_the_end_of_it
|
||||||
|
//~^ ERROR: you should put `be_sure_we_got_to_the_end_of_it` between ticks
|
||||||
|
fn issue900() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Diesel queries also have a similar problem to [Iterator][iterator], where
|
||||||
|
/// /// More talking
|
||||||
|
/// returning them from a function requires exposing the implementation of that
|
||||||
|
/// function. The [`helper_types`][helper_types] module exists to help with this,
|
||||||
|
/// but you might want to hide the return type or have it conditionally change.
|
||||||
|
/// Boxing can achieve both.
|
||||||
|
///
|
||||||
|
/// [iterator]: https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html
|
||||||
|
/// [helper_types]: ../helper_types/index.html
|
||||||
|
/// be_sure_we_got_to_the_end_of_it
|
||||||
|
//~^ ERROR: you should put `be_sure_we_got_to_the_end_of_it` between ticks
|
||||||
|
fn issue883() {
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue