Stack overflow when using monad-unlift
I found that with the following simple program I could make runghc/ghci crash with *** Exception: stack overflow
:
{{{ #!/usr/bin/env stack -- stack --resolver lts-7.1 --install-ghc runghc --package monad-unlift-0.2.0
{-# LANGUAGE FlexibleContexts #-}
import Control.Monad.Trans.Unlift
f :: (MonadBaseUnlift m IO) => m a f = do
_ <- askUnliftBase
return () }}}
I'm not super sure if that's OK. Probably not; even if it does trigger an undecideable case, shouldn't ghc tell me about it instead of just crashing?
The monad-unlift
code used is here: https://github.com/fpco/monad-unlift/blob/adb7869adccc66247cbb1a6175277802e9c098e1/monad-unlift/Control/Monad/Trans/Unlift.hs
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | nh2 |
Operating system | |
Architecture |