Fix false positive in empty_line_after_outer_attribute

`empty_line_after_outer_attribute` produced a false positive warning when
deriving `Copy` and/or `Clone` for an item.

It looks like the second point in [this comment][that_comment] is related,
as the attribute that causes the false positive has a path of
`rustc_copy_clone_marker`.

Fixes #2475

[that_comment]: https://github.com/rust-lang/rust/issues/35900#issuecomment-245978831
This commit is contained in:
Philipp Hansch 2018-03-26 21:57:42 +02:00
parent eafd090108
commit 034c81b761
No known key found for this signature in database
GPG Key ID: 93FB33459D311E5E
2 changed files with 13 additions and 1 deletions

View File

@ -267,7 +267,7 @@ fn check_attrs(cx: &LateContext, span: Span, name: &Name, attrs: &[Attribute]) {
return;
}
if attr.style == AttrStyle::Outer {
if !is_present_in_source(cx, attr.span) {
if attr.tokens.is_empty() || !is_present_in_source(cx, attr.span) {
return;
}

View File

@ -67,4 +67,16 @@ pub fn function() -> bool {
true
}
// This should not produce a warning
#[derive(Clone, Copy)]
pub enum FooFighter {
Bar1,
Bar2,
Bar3,
Bar4
}
fn main() { }