@@ -335,16 +335,8 @@ impl Predicate {
335335 Predicate :: Equal ( lhs, rhs_data) => {
336336 let focused_data = lhs. clone ( ) . get ( data) ?;
337337 match ( & focused_data, & rhs_data) {
338- ( Ipld :: Integer ( int) , Ipld :: Float ( float) ) => {
339- if !float. is_nan ( ) && !float. is_infinite ( ) && float. fract ( ) == 0.0 {
340- #[ allow( clippy:: cast_possible_truncation) ]
341- let i = * float as i128 ;
342- * int == i
343- } else {
344- Err ( RunError :: CannotCompareNonwholeFloatToInt ) ?
345- }
346- }
347- ( Ipld :: Float ( float) , Ipld :: Integer ( int) ) => {
338+ ( Ipld :: Integer ( int) , Ipld :: Float ( float) )
339+ | ( Ipld :: Float ( float) , Ipld :: Integer ( int) ) => {
348340 if !float. is_nan ( ) && !float. is_infinite ( ) && float. fract ( ) == 0.0 {
349341 #[ allow( clippy:: cast_possible_truncation) ]
350342 let i = * float as i128 ;
@@ -487,7 +479,7 @@ impl TryFrom<Ipld> for Predicate {
487479 }
488480 Ok ( Predicate :: Or ( inner) )
489481 }
490- _ => Err ( FromIpldError :: UnrecognizedPairTag ( op_str. to_string ( ) ) ) ,
482+ _ => Err ( FromIpldError :: UnrecognizedPairTag ( op_str. clone ( ) ) ) ,
491483 } ,
492484 [ Ipld :: String ( op_str) , Ipld :: String ( sel_str) , val] => match op_str. as_str ( ) {
493485 "==" => {
@@ -542,7 +534,7 @@ impl TryFrom<Ipld> for Predicate {
542534 . map_err ( FromIpldError :: InvalidStringSelector ) ?;
543535
544536 if let Ipld :: String ( s) = val {
545- Ok ( Predicate :: Like ( sel, s. to_string ( ) ) )
537+ Ok ( Predicate :: Like ( sel, s. clone ( ) ) )
546538 } else {
547539 Err ( FromIpldError :: NotAString ( val. clone ( ) ) )
548540 }
@@ -561,7 +553,7 @@ impl TryFrom<Ipld> for Predicate {
561553 let p = Box :: new ( Predicate :: try_from ( val. clone ( ) ) ?) ;
562554 Ok ( Predicate :: Any ( sel, p) )
563555 }
564- _ => Err ( FromIpldError :: UnrecognizedTripleTag ( op_str. to_string ( ) ) ) ,
556+ _ => Err ( FromIpldError :: UnrecognizedTripleTag ( op_str. clone ( ) ) ) ,
565557 } ,
566558 _ => Err ( FromIpldError :: UnrecognizedShape ) ,
567559 } ,
0 commit comments