From e809bf548d6eb03d02e68ec274b74099e933e7d5 Mon Sep 17 00:00:00 2001 From: Bas van Dijk <v.dijk.bas@gmail.com> Date: Fri, 30 Sep 2011 13:47:31 +0000 Subject: [PATCH] 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(+) 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). -- GitLab