Added RULES that translates "unsafeFromForeignPtr fp 0 n" to "unsafeFromForeignPtr0...
authorBas van Dijk <v.dijk.bas@gmail.com>
Fri, 30 Sep 2011 13:47:31 +0000 (13:47 +0000)
committerBas van Dijk <v.dijk.bas@gmail.com>
Fri, 30 Sep 2011 13:47:31 +0000 (13:47 +0000)
Data/Vector/Storable.hs
Data/Vector/Storable/Mutable.hs

index 65af6d7..ebb68e1 100644 (file)
@@ -1375,6 +1375,11 @@ unsafeFromForeignPtr fp i n = unsafeFromForeignPtr0 fp' n
     where
       fp' = updPtr (`advancePtr` i) fp
 
+{-# RULES
+"unsafeFromForeignPtr fp 0 n -> unsafeFromForeignPtr0 fp n " forall fp n.
+  unsafeFromForeignPtr fp 0 n = unsafeFromForeignPtr0 fp n
+  #-}
+
 -- | /O(1)/ Create a vector from a 'ForeignPtr' and a length.
 --
 -- It is assumed the pointer points directly to the data (no offset).
index 8c3e284..7b87986 100644 (file)
@@ -403,6 +403,11 @@ unsafeFromForeignPtr fp i n = unsafeFromForeignPtr0 fp' n
     where
       fp' = updPtr (`advancePtr` i) fp
 
+{-# RULES
+"unsafeFromForeignPtr fp 0 n -> unsafeFromForeignPtr0 fp n " forall fp n.
+  unsafeFromForeignPtr fp 0 n = unsafeFromForeignPtr0 fp n
+  #-}
+
 -- | /O(1)/ Create a mutable vector from a 'ForeignPtr' and a length.
 --
 -- It is assumed the pointer points directly to the data (no offset).