on master help sign in
Don't match against class ops in compareLength rules
0fd610aBen Gamari
Data/Text.hs+7−6
@@ -238,6 +238,7 @@ import Data.ByteString (ByteString)
238import qualified Data.Text.Lazy as L
238import qualified Data.Text.Lazy as L
239import Data.Int (Int64)
239import Data.Int (Int64)
240#endif
240#endif
241+import GHC.Base (eqInt, neInt, gtInt, geInt, ltInt, leInt)
241#if __GLASGOW_HASKELL__ >= 708
242#if __GLASGOW_HASKELL__ >= 708
242import qualified GHC.Exts as Exts
243import qualified GHC.Exts as Exts
243#endif
244#endif
@@ -592,32 +593,32 @@ compareLength t n = S.compareLengthI (stream t) n
592
593
593{-# RULES
594{-# RULES
594"TEXT ==N/length -> compareLength/==EQ" [~1] forall t n.
595"TEXT ==N/length -> compareLength/==EQ" [~1] forall t n.
595− (==) (length t) n = compareLength t n == EQ
596+ eqInt (length t) n = compareLength t n == EQ
596 #-}
597 #-}
597
598
598{-# RULES
599{-# RULES
599"TEXT /=N/length -> compareLength//=EQ" [~1] forall t n.
600"TEXT /=N/length -> compareLength//=EQ" [~1] forall t n.
600− (/=) (length t) n = compareLength t n /= EQ
601+ neInt (length t) n = compareLength t n /= EQ
601 #-}
602 #-}
602
603
603{-# RULES
604{-# RULES
604"TEXT <N/length -> compareLength/==LT" [~1] forall t n.
605"TEXT <N/length -> compareLength/==LT" [~1] forall t n.
605− (<) (length t) n = compareLength t n == LT
606+ ltInt (length t) n = compareLength t n == LT
606 #-}
607 #-}
607
608
608{-# RULES
609{-# RULES
609"TEXT <=N/length -> compareLength//=GT" [~1] forall t n.
610"TEXT <=N/length -> compareLength//=GT" [~1] forall t n.
610− (<=) (length t) n = compareLength t n /= GT
611+ leInt (length t) n = compareLength t n /= GT
611 #-}
612 #-}
612
613
613{-# RULES
614{-# RULES
614"TEXT >N/length -> compareLength/==GT" [~1] forall t n.
615"TEXT >N/length -> compareLength/==GT" [~1] forall t n.
615− (>) (length t) n = compareLength t n == GT
616+ gtInt (length t) n = compareLength t n == GT
616 #-}
617 #-}
617
618
618{-# RULES
619{-# RULES
619"TEXT >=N/length -> compareLength//=LT" [~1] forall t n.
620"TEXT >=N/length -> compareLength//=LT" [~1] forall t n.
620− (>=) (length t) n = compareLength t n /= LT
621+ geInt (length t) n = compareLength t n /= LT
621 #-}
622 #-}
622
623
623-- -----------------------------------------------------------------------------
624-- -----------------------------------------------------------------------------