@@ -204,11 +204,11 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
204
204
{
205
205
let arg_ty = cx. typeck_results ( ) . expr_ty ( arg) ;
206
206
let is_copy = is_copy ( cx, arg_ty) ;
207
- let drop_is_only_expr_in_arm = and_only_expr_in_arm ( cx, arg, expr) ;
207
+ let drop_is_single_call_in_arm = is_single_call_in_arm ( cx, arg, expr) ;
208
208
let ( lint, msg) = match fn_name {
209
209
sym:: mem_drop if arg_ty. is_ref ( ) => ( DROP_REF , DROP_REF_SUMMARY ) ,
210
210
sym:: mem_forget if arg_ty. is_ref ( ) => ( FORGET_REF , FORGET_REF_SUMMARY ) ,
211
- sym:: mem_drop if is_copy && !drop_is_only_expr_in_arm => ( DROP_COPY , DROP_COPY_SUMMARY ) ,
211
+ sym:: mem_drop if is_copy && !drop_is_single_call_in_arm => ( DROP_COPY , DROP_COPY_SUMMARY ) ,
212
212
sym:: mem_forget if is_copy => ( FORGET_COPY , FORGET_COPY_SUMMARY ) ,
213
213
sym:: mem_drop if is_type_lang_item ( cx, arg_ty, LangItem :: ManuallyDrop ) => {
214
214
span_lint_and_help (
@@ -225,7 +225,7 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
225
225
if !( arg_ty. needs_drop ( cx. tcx , cx. param_env )
226
226
|| is_must_use_func_call ( cx, arg)
227
227
|| is_must_use_ty ( cx, arg_ty)
228
- || drop_is_only_expr_in_arm
228
+ || drop_is_single_call_in_arm
229
229
) =>
230
230
{
231
231
( DROP_NON_DROP , DROP_NON_DROP_SUMMARY )
@@ -252,7 +252,7 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
252
252
// <pat> => drop(fn_with_side_effect_and_returning_some_value()),
253
253
// ..
254
254
// }
255
- fn and_only_expr_in_arm < ' tcx > ( cx : & LateContext < ' tcx > , arg : & ' tcx Expr < ' _ > , drop_expr : & ' tcx Expr < ' _ > ) -> bool {
255
+ fn is_single_call_in_arm < ' tcx > ( cx : & LateContext < ' tcx > , arg : & ' tcx Expr < ' _ > , drop_expr : & ' tcx Expr < ' _ > ) -> bool {
256
256
if matches ! ( arg. kind, ExprKind :: Call ( ..) | ExprKind :: MethodCall ( ..) ) {
257
257
let parent_node = get_parent_node ( cx. tcx , drop_expr. hir_id ) ;
258
258
if let Some ( Node :: Arm ( Arm { body, .. } ) ) = & parent_node {
0 commit comments