liquidhaskell-0.8.0.2: tests/todo/SubType.hs
module HOSubtype where
{-@ foo :: f:(x:{v:Int | false} -> {v:Int | v = x}) -> () @-}
foo :: (Int -> Int) -> ()
foo pf = ()
test0 :: ()
test0 = foo useless_proof
{-@ generic_accept_stable ::
f:(x:a -> {v:a | (v = x)}) ->
()
@-}
generic_accept_stable :: (a -> a) -> ()
generic_accept_stable pf = ()
{-@ useless_proof :: x:{v:Int | v > 0} -> {v:Int | v > 0} @-}
useless_proof :: Int -> Int
useless_proof _ = 5
test :: ()
test = generic_accept_stable useless_proof