liquidhaskell-0.8.10.1: tests/pos/T1595.hs
module T1595 where
{-@ LIQUID "--reflection" @-}
data Map k v = Tip | Map k v (Map k v)
{-@ reflect mapEmpty @-}
mapEmpty :: Map k v
mapEmpty = Tip
{-@
data MultiSet a = MultiSet {
posMultiSet :: Map a {v:Integer | v > 0 }
}
@-}
data MultiSet a = MultiSet {
posMultiSet :: Map a Integer -- ^ Map for elements currently in the set.
}
{-@ empty :: MultiSet a @-}
empty :: MultiSet a
empty = MultiSet mapEmpty