File tree 1 file changed +13
-7
lines changed
crates/ruff_linter/src/rules/airflow/rules
1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -72,7 +72,7 @@ impl Violation for Airflow3Removal {
72
72
}
73
73
}
74
74
75
- #[ derive( Debug , Clone , Eq , PartialEq ) ]
75
+ #[ derive( Debug , Eq , PartialEq ) ]
76
76
enum Replacement {
77
77
None ,
78
78
Name ( & ' static str ) ,
@@ -504,19 +504,25 @@ fn check_method(checker: &Checker, call_expr: &ExprCall) {
504
504
}
505
505
}
506
506
} ;
507
+ // Create the `Fix` first to avoid cloning `Replacement`.
508
+ let fix = if let Replacement :: Name ( name) = replacement {
509
+ Some ( Fix :: safe_edit ( Edit :: range_replacement (
510
+ name. to_string ( ) ,
511
+ attr. range ( ) ,
512
+ ) ) )
513
+ } else {
514
+ None
515
+ } ;
507
516
508
517
let mut diagnostic = Diagnostic :: new (
509
518
Airflow3Removal {
510
519
deprecated : attr. to_string ( ) ,
511
- replacement : replacement . clone ( ) ,
520
+ replacement,
512
521
} ,
513
522
attr. range ( ) ,
514
523
) ;
515
- if let Replacement :: Name ( name) = replacement {
516
- diagnostic. set_fix ( Fix :: safe_edit ( Edit :: range_replacement (
517
- name. to_string ( ) ,
518
- attr. range ( ) ,
519
- ) ) ) ;
524
+ if let Some ( fix) = fix {
525
+ diagnostic. set_fix ( fix) ;
520
526
}
521
527
checker. report_diagnostic ( diagnostic) ;
522
528
}
You can’t perform that action at this time.
0 commit comments