[commit: vector] master: Added RULES that translates "unsafeFromForeignPtr fp 0 n" to "unsafeFromForeignPtr0 fp n" (e809bf5)
Ian Lynagh
igloo at earth.li
Sat Oct 15 02:47:34 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/vector
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/e809bf548d6eb03d02e68ec274b74099e933e7d5
>---------------------------------------------------------------
commit e809bf548d6eb03d02e68ec274b74099e933e7d5
Author: Bas van Dijk <v.dijk.bas at gmail.com>
Date: Fri Sep 30 13:47:31 2011 +0000
Added RULES that translates "unsafeFromForeignPtr fp 0 n" to "unsafeFromForeignPtr0 fp n"
>---------------------------------------------------------------
Data/Vector/Storable.hs | 5 +++++
Data/Vector/Storable/Mutable.hs | 5 +++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/Data/Vector/Storable.hs b/Data/Vector/Storable.hs
index 65af6d7..ebb68e1 100644
--- a/Data/Vector/Storable.hs
+++ b/Data/Vector/Storable.hs
@@ -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).
diff --git a/Data/Vector/Storable/Mutable.hs b/Data/Vector/Storable/Mutable.hs
index 8c3e284..7b87986 100644
--- a/Data/Vector/Storable/Mutable.hs
+++ b/Data/Vector/Storable/Mutable.hs
@@ -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).
More information about the Cvs-libraries
mailing list