commit
3c1d3272dd
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
|
||||
}
|
||||
|
||||
let mut new_line = true;
|
||||
let len = doc.len();
|
||||
let mut chars = doc.char_indices().peekable();
|
||||
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() {
|
||||
Some((_, c)) => {
|
||||
match c {
|
||||
c if c.is_whitespace() => {
|
||||
current_word_begin = jump_to!(@next_char, chars, len);
|
||||
'#' if new_line => { // don’t warn on titles
|
||||
current_word_begin = jump_to!(chars, '\n', 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,
|
||||
}
|
||||
}
|
||||
// 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)) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
new_line = c == '\n' || (new_line && c.is_whitespace());
|
||||
}
|
||||
None => break,
|
||||
}
|
||||
|
@ -107,3 +107,37 @@ fn main() {
|
||||
test_emphasis();
|
||||
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 New Issue
Block a user