@@ -959,7 +959,7 @@ fn detect_manual_memcpy<'a, 'tcx>(
959
959
if let PatKind :: Binding ( _, canonical_id, _, _) = pat. kind {
960
960
let print_sum = |arg1 : & Offset , arg2 : & Offset | -> String {
961
961
match ( & arg1. value [ ..] , arg1. negate , & arg2. value [ ..] , arg2. negate ) {
962
- ( "0" , _, "0" , _) => "" . into ( ) ,
962
+ ( "0" , _, "0" , _) => "0 " . into ( ) ,
963
963
( "0" , _, x, false ) | ( x, false , "0" , _) => x. into ( ) ,
964
964
( "0" , _, x, true ) => format ! ( "-{}" , x) ,
965
965
( x, false , y, false ) => format ! ( "({} + {})" , x, y) ,
@@ -981,6 +981,15 @@ fn detect_manual_memcpy<'a, 'tcx>(
981
981
}
982
982
} ;
983
983
984
+ let print_offset = |start_str : & Offset , inline_offset : & Offset | -> String {
985
+ let offset = print_sum ( start_str, inline_offset) ;
986
+ if offset. as_str ( ) == "0" {
987
+ "" . into ( )
988
+ } else {
989
+ offset
990
+ }
991
+ } ;
992
+
984
993
let print_limit = |end : & Option < & Expr < ' _ > > , offset : Offset , var_name : & str | {
985
994
if let Some ( end) = * end {
986
995
if_chain ! {
@@ -1020,9 +1029,9 @@ fn detect_manual_memcpy<'a, 'tcx>(
1020
1029
. into_iter ( )
1021
1030
. map ( |( dst_var, src_var) | {
1022
1031
let start_str = Offset :: positive ( snippet ( cx, start. span , "" ) . to_string ( ) ) ;
1023
- let dst_offset = print_sum ( & start_str, & dst_var. offset ) ;
1032
+ let dst_offset = print_offset ( & start_str, & dst_var. offset ) ;
1024
1033
let dst_limit = print_limit ( end, dst_var. offset , & dst_var. var_name ) ;
1025
- let src_offset = print_sum ( & start_str, & src_var. offset ) ;
1034
+ let src_offset = print_offset ( & start_str, & src_var. offset ) ;
1026
1035
let src_limit = print_limit ( end, src_var. offset , & src_var. var_name ) ;
1027
1036
let dst = if dst_offset == "" && dst_limit == "" {
1028
1037
dst_var. var_name
0 commit comments