some 1.0.0.1 → 1.0.0.2
raw patch · 3 files changed
+12/−3 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- ChangeLog.md +4/−0
- some.cabal +1/−1
- src/Data/Some/Newtype.hs +7/−2
ChangeLog.md view
@@ -1,3 +1,7 @@+# 1.0.0.2++- One less `unsafeCoerce` (thanks to David Feuer)+ # 1.0.0.1 - Fix issue with GHC#9585 https://gitlab.haskell.org/ghc/ghc/issues/9584
some.cabal view
@@ -1,5 +1,5 @@ name: some-version: 1.0.0.1+version: 1.0.0.2 stability: provisional cabal-version: >=1.10 build-type: Simple
src/Data/Some/Newtype.hs view
@@ -81,8 +81,13 @@ -- Some TagInt -- newtype Some tag = UnsafeSome (tag Any)--#if __GLASGOW_HASKELL__ >= 801+ +#if __GLASGOW_HASKELL__ >= 802+pattern Some x <- UnsafeSome x+ where Some x = UnsafeSome ((unsafeCoerce :: tag a -> tag Any) x)+#elif __GLASGOW_HASKELL__ >= 801+-- There was a bug type checking pattern synonyms that prevented the+-- obvious thing from working. {-# COMPLETE Some #-} pattern Some :: tag a -> Some tag pattern Some x <- UnsafeSome ((unsafeCoerce :: tag Any -> tag a) -> x)