@@ -7,7 +7,7 @@ use rustc_hir::def_id::DefId;
7
7
use rustc_hir:: intravisit:: { FnKind , Visitor } ;
8
8
use rustc_hir:: { Attribute , GenericParamKind , PatExprKind , PatKind , find_attr} ;
9
9
use rustc_middle:: hir:: nested_filter:: All ;
10
- use rustc_middle:: ty;
10
+ use rustc_middle:: ty:: AssocContainer ;
11
11
use rustc_session:: config:: CrateType ;
12
12
use rustc_session:: { declare_lint, declare_lint_pass} ;
13
13
use rustc_span:: def_id:: LocalDefId ;
@@ -20,24 +20,6 @@ use crate::lints::{
20
20
} ;
21
21
use crate :: { EarlyContext , EarlyLintPass , LateContext , LateLintPass , LintContext } ;
22
22
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:: AssocContainer :: Trait => MethodLateContext :: TraitAutoImpl ,
34
- ty:: AssocContainer :: Impl => match cx. tcx . impl_trait_ref ( item. container_id ( cx. tcx ) ) {
35
- Some ( _) => MethodLateContext :: TraitImpl ,
36
- None => MethodLateContext :: PlainImpl ,
37
- } ,
38
- }
39
- }
40
-
41
23
declare_lint ! {
42
24
/// The `non_camel_case_types` lint detects types, variants, traits and
43
25
/// type parameters that don't have camel case names.
@@ -384,19 +366,19 @@ impl<'tcx> LateLintPass<'tcx> for NonSnakeCase {
384
366
id : LocalDefId ,
385
367
) {
386
368
match & fk {
387
- FnKind :: Method ( ident, sig, ..) => match method_context ( cx , id) {
388
- MethodLateContext :: PlainImpl => {
369
+ FnKind :: Method ( ident, sig, ..) => match cx . tcx . associated_item ( id) . container {
370
+ AssocContainer :: InherentImpl => {
389
371
if sig. header . abi != ExternAbi :: Rust
390
372
&& find_attr ! ( cx. tcx. get_all_attrs( id) , AttributeKind :: NoMangle ( ..) )
391
373
{
392
374
return ;
393
375
}
394
376
self . check_snake_case ( cx, "method" , ident) ;
395
377
}
396
- MethodLateContext :: TraitAutoImpl => {
378
+ AssocContainer :: Trait => {
397
379
self . check_snake_case ( cx, "trait method" , ident) ;
398
380
}
399
- _ => ( ) ,
381
+ AssocContainer :: TraitImpl ( _ ) => { }
400
382
} ,
401
383
FnKind :: ItemFn ( ident, _, header) => {
402
384
// Skip foreign-ABI #[no_mangle] functions (Issue #31924)
0 commit comments