File tree Expand file tree Collapse file tree 1 file changed +12
-13
lines changed Expand file tree Collapse file tree 1 file changed +12
-13
lines changed Original file line number Diff line number Diff line change @@ -173,18 +173,17 @@ fn lint_bad_overrides(context: &SemanticLintContext) -> QueryResult<()> {
173173 // not a method of a class
174174 continue ;
175175 } ;
176- let decorators: Vec < _ > = func. function ( context. db ) ?. decorators ( ) . to_vec ( ) ;
177- if decorators. iter ( ) . any ( |deco_ty| {
178- if let Type :: Function ( deco_func) = deco_ty {
179- deco_func. file ( ) == typing_file
180- && deco_func
181- . symbol ( context. db )
182- . expect ( "TODO should bubble this up" )
183- == typing_override
184- } else {
185- false
176+ let mut override_decorated = false ;
177+ for deco_ty in func. function ( context. db ) ?. decorators ( ) {
178+ let Type :: Function ( deco_func) = deco_ty else {
179+ continue ;
180+ } ;
181+ if deco_func. file ( ) == typing_file && deco_func. symbol ( context. db ) ? == typing_override {
182+ override_decorated = true ;
183+ break ;
186184 }
187- } ) {
185+ }
186+ if override_decorated {
188187 let method_name = func. name ( context. db ) ?;
189188 if class
190189 . get_super_class_member ( context. db , & method_name) ?
@@ -195,8 +194,8 @@ fn lint_bad_overrides(context: &SemanticLintContext) -> QueryResult<()> {
195194 format ! (
196195 "Method {}.{} is decorated with `typing.override` but does not override any base class method" ,
197196 class. name( context. db) ?,
198- func . name ( context . db ) ? ) ,
199- ) ;
197+ method_name ,
198+ ) ) ;
200199 }
201200 }
202201 }
You can’t perform that action at this time.
0 commit comments