Fix false positive in empty_line_after_outer_attr

Doc comments are syntactic sugar for #[doc] attributes, so this lint was
catching them, too.

This commit makes it so that doc comments are ignored in this lint.

I think, for normal attributes it makes sense to warn about following empty
lines, for doc comments, less. This way the user has some freedom over
the formatting.
This commit is contained in:
Philipp Hansch 2018-02-01 07:43:03 +01:00
parent ee8d32850d
commit a64724fac4
No known key found for this signature in database
GPG key ID: 667C8F4B5A698A60
2 changed files with 9 additions and 1 deletions

View file

@ -262,6 +262,9 @@ fn check_attrs(cx: &LateContext, span: Span, name: &Name, attrs: &[Attribute]) {
}
for attr in attrs {
if attr.is_sugared_doc {
return;
}
if attr.style == AttrStyle::Outer {
if !is_present_in_source(cx, attr.span) {
return;
@ -276,7 +279,7 @@ fn check_attrs(cx: &LateContext, span: Span, name: &Name, attrs: &[Attribute]) {
cx,
EMPTY_LINE_AFTER_OUTER_ATTR,
attr_to_item_span,
&format!("Found an empty line after an outer attribute. Perhaps you forgot to add a '!' to make it an inner attribute?")
"Found an empty line after an outer attribute. Perhaps you forgot to add a '!' to make it an inner attribute?"
);
}

View file

@ -47,6 +47,11 @@ struct Foo {
mod foo {
}
/// This doc comment should not produce a warning
/** This is also a doc comment and should not produce a warning
*/
// This should not produce a warning
#[allow(non_camel_case_types)]
#[allow(missing_docs)]