Fix false positive with `DOC_MARKDOWN` and links

This commit is contained in:
mcarton 2016-04-01 17:24:55 +02:00
parent 8bfe38c432
commit f16da4fdda
2 changed files with 12 additions and 2 deletions

View File

@ -69,7 +69,7 @@ fn collect_doc(attrs: &[ast::Attribute]) -> (Cow<str>, Option<Span>) {
let (doc, span) = doc_attrs.next().unwrap_or_else(|| unreachable!());
(doc.into(), Some(span))
}
_ => (doc_attrs.map(|s| s.0).collect::<String>().into(), None),
_ => (doc_attrs.map(|s| format!("{}\n", s.0)).collect::<String>().into(), None),
}
}
@ -124,9 +124,14 @@ fn check_word(cx: &EarlyContext, word: &str, span: Span) {
s != "_" && !s.contains("\\_") && s.contains('_')
}
// Something with a `/` might be a link, dont warn (see #823):
if word.contains('/') {
return;
}
// Trim punctuation as in `some comment (see foo::bar).`
// ^^
// Or even as `_foo bar_` which is emphasized.
// Or even as in `_foo bar_` which is emphasized.
let word = word.trim_matches(|c: char| !c.is_alphanumeric());
if has_underscore(word) || word.contains("::") || is_camel_case(word) {

View File

@ -29,6 +29,11 @@ fn multiline_ticks() {
fn test_emphasis() {
}
/// This test has [a link with underscores][chunked-example] inside it. See #823.
/// See also [the issue tracker](https://github.com/Manishearth/rust-clippy/search?q=doc_markdown&type=Issues).
///
/// [chunked-example]: http://en.wikipedia.org/wiki/Chunked_transfer_encoding#Example
/// The `main` function is the entry point of the program. Here it only calls the `foo_bar` and
/// `multiline_ticks` functions.
fn main() {