File tree 3 files changed +21
-2
lines changed
3 files changed +21
-2
lines changed Original file line number Diff line number Diff line change 1
1
use clippy_utils:: diagnostics:: span_lint_and_sugg;
2
2
use clippy_utils:: ty:: same_type_and_consts;
3
- use clippy_utils:: { meets_msrv, msrvs} ;
3
+ use clippy_utils:: { is_from_proc_macro , meets_msrv, msrvs} ;
4
4
use if_chain:: if_chain;
5
5
use rustc_data_structures:: fx:: FxHashSet ;
6
6
use rustc_errors:: Applicability ;
@@ -87,7 +87,7 @@ impl_lint_pass!(UseSelf => [USE_SELF]);
87
87
const SEGMENTS_MSG : & str = "segments should be composed of at least 1 element" ;
88
88
89
89
impl < ' tcx > LateLintPass < ' tcx > for UseSelf {
90
- fn check_item ( & mut self , _cx : & LateContext < ' _ > , item : & Item < ' _ > ) {
90
+ fn check_item ( & mut self , cx : & LateContext < ' tcx > , item : & Item < ' tcx > ) {
91
91
if matches ! ( item. kind, ItemKind :: OpaqueTy ( _) ) {
92
92
// skip over `ItemKind::OpaqueTy` in order to lint `foo() -> impl <..>`
93
93
return ;
@@ -103,6 +103,7 @@ impl<'tcx> LateLintPass<'tcx> for UseSelf {
103
103
if parameters. as_ref( ) . map_or( true , |params| {
104
104
!params. parenthesized && !params. args. iter( ) . any( |arg| matches!( arg, GenericArg :: Lifetime ( _) ) )
105
105
} ) ;
106
+ if !is_from_proc_macro( cx, item) ; // expensive, should be last check
106
107
then {
107
108
StackItem :: Check {
108
109
impl_id: item. def_id,
Original file line number Diff line number Diff line change @@ -608,3 +608,12 @@ mod issue8845 {
608
608
}
609
609
}
610
610
}
611
+
612
+ mod issue6902 {
613
+ use serde::Serialize;
614
+
615
+ #[derive(Serialize)]
616
+ pub enum Foo {
617
+ Bar = 1,
618
+ }
619
+ }
Original file line number Diff line number Diff line change @@ -608,3 +608,12 @@ mod issue8845 {
608
608
}
609
609
}
610
610
}
611
+
612
+ mod issue6902 {
613
+ use serde:: Serialize ;
614
+
615
+ #[ derive( Serialize ) ]
616
+ pub enum Foo {
617
+ Bar = 1 ,
618
+ }
619
+ }
You can’t perform that action at this time.
0 commit comments