diff --git a/Data/ByteString/Internal/Pure.hs b/Data/ByteString/Internal/Pure.hs index 59839cfcf..f29c020fc 100644 --- a/Data/ByteString/Internal/Pure.hs +++ b/Data/ByteString/Internal/Pure.hs @@ -179,8 +179,10 @@ isValidUtf8' idx !len = go 0 indexIsCont i = -- We use a signed comparison to avoid an extra comparison with 0x80, -- since _signed_ 0x80 is -128. - let i' = fromIntegral @Word8 @Int8 (indexWord8 i) - in i' <= (fromIntegral (0xBF :: Word8)) + let + v :: Int8 + v = fromIntegral (indexWord8 i) + in v <= (fromIntegral (0xBF :: Word8)) go !i | i >= len = pure True -- done