@@ -7,7 +7,7 @@ use rustc_hir::def_id::DefId;
77use rustc_hir:: intravisit:: { FnKind , Visitor } ;
88use rustc_hir:: { AttrArgs , AttrItem , Attribute , GenericParamKind , PatExprKind , PatKind , find_attr} ;
99use rustc_middle:: hir:: nested_filter:: All ;
10- use rustc_middle:: ty;
10+ use rustc_middle:: ty:: AssocItemContainer ;
1111use rustc_session:: config:: CrateType ;
1212use rustc_session:: { declare_lint, declare_lint_pass} ;
1313use rustc_span:: def_id:: LocalDefId ;
@@ -20,24 +20,6 @@ use crate::lints::{
2020} ;
2121use crate :: { EarlyContext , EarlyLintPass , LateContext , LateLintPass , LintContext } ;
2222
23- #[ derive( PartialEq ) ]
24- pub ( crate ) enum MethodLateContext {
25- TraitAutoImpl ,
26- TraitImpl ,
27- PlainImpl ,
28- }
29-
30- pub ( crate ) fn method_context ( cx : & LateContext < ' _ > , id : LocalDefId ) -> MethodLateContext {
31- let item = cx. tcx . associated_item ( id) ;
32- match item. container {
33- ty:: AssocItemContainer :: Trait => MethodLateContext :: TraitAutoImpl ,
34- ty:: AssocItemContainer :: Impl => match cx. tcx . impl_trait_ref ( item. container_id ( cx. tcx ) ) {
35- Some ( _) => MethodLateContext :: TraitImpl ,
36- None => MethodLateContext :: PlainImpl ,
37- } ,
38- }
39- }
40-
4123fn assoc_item_in_trait_impl ( cx : & LateContext < ' _ > , ii : & hir:: ImplItem < ' _ > ) -> bool {
4224 let item = cx. tcx . associated_item ( ii. owner_id ) ;
4325 item. trait_item_def_id . is_some ( )
@@ -397,19 +379,19 @@ impl<'tcx> LateLintPass<'tcx> for NonSnakeCase {
397379 id : LocalDefId ,
398380 ) {
399381 match & fk {
400- FnKind :: Method ( ident, sig, ..) => match method_context ( cx , id) {
401- MethodLateContext :: PlainImpl => {
382+ FnKind :: Method ( ident, sig, ..) => match cx . tcx . associated_item ( id) . container {
383+ AssocItemContainer :: InherentImpl => {
402384 if sig. header . abi != ExternAbi :: Rust
403385 && find_attr ! ( cx. tcx. get_all_attrs( id) , AttributeKind :: NoMangle ( ..) )
404386 {
405387 return ;
406388 }
407389 self . check_snake_case ( cx, "method" , ident) ;
408390 }
409- MethodLateContext :: TraitAutoImpl => {
391+ AssocItemContainer :: Trait => {
410392 self . check_snake_case ( cx, "trait method" , ident) ;
411393 }
412- _ => ( ) ,
394+ AssocItemContainer :: TraitImpl => { }
413395 } ,
414396 FnKind :: ItemFn ( ident, _, header) => {
415397 // Skip foreign-ABI #[no_mangle] functions (Issue #31924)
0 commit comments