packages feed

liquidhaskell-0.9.0.2.1: tests/neg/Contra0.hs

{-@ LIQUID "--expect-any-error" @-}
{-@ LIQUID "--no-termination" @-}
{-@ LIQUID "--short-names"    @-}

module Contra0 () where

import Language.Haskell.Liquid.Prelude (liquidAssert)
import Data.IORef


{-@ data variance IO bivariant @-}
{-@ data variance IORef bivariant @-}

job :: IO () 
job = do
  p <- newIORef (0 :: Int)
  writeIORef p 10
  v <- readIORef p
  liquidAssert (v == 0) $ return ()