Thanks for this. I've improved Note [Order of Coercible Instances] in TcInteract
Generally, it's much better to give an actual, concrete example in the Note, and refer to the ticket for additional background. It took me a few minutes to re-read the long #9117 to reconstruct the example that precisely illustrates the Note. Simon | -----Original Message----- | From: ghc-tickets [mailto:ghc-tickets-boun...@haskell.org] On Behalf Of | GHC | Sent: 30 May 2014 01:35 | Cc: ghc-tick...@haskell.org | Subject: [GHC] #9153: TcCoercible test is failing with context reduction | stack overflow | | #9153: TcCoercible test is failing with context reduction stack overflow | ------------------------------------+----------------------------------- | ------------------------------------+-- | Reporter: ezyang | Owner: | Type: bug | Status: new | Priority: low | Milestone: | Component: Test Suite | Version: 7.9 | Keywords: | Operating System: | Unknown/Multiple | Architecture: Unknown/Multiple | Type of failure: None/Unknown | Difficulty: Unknown | Test Case: | Blocked By: | Blocking: | Related Tickets: | | ------------------------------------+----------------------------------- | ------------------------------------+-- | Here is the error: | | {{{ | TcCoercible.hs:62:12: | Context reduction stack overflow; size = 21 | Use -fcontext-stack=N to increase stack size to N | Coercible Int Int | In the expression: coerce | In the first argument of ‘print’, namely | ‘(coerce $ (FixEither (Left age) :: FixEither Age) :: | Either Int (FixEither Int))’ | In a stmt of a 'do' block: | print | (coerce $ (FixEither (Left age) :: FixEither Age) :: | Either Int (FixEither Int)) | }}} | | I do not know enough to know if bumping the stack size is correct. | | Additionally, when run as GHCi I get: | | {{{ | =====> TcCoercible(ghci) 2784 of 3970 [0, 7, 0] cd | ./typecheck/should_run && '/home/hs01/ezyang/ghc-validate/inplace/bin | /ghc-stage2' -fforce-re | comp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db - | rtsopts -fno-ghci-history Tc Coercible.hs --interactive -v0 -ignore- | dot-ghci +RTS -I0.1 -RTS <TcCoercible.genscript 1>TcCo | ercible.interp.stdout 2>TcCoercible.interp.stderr Actual stderr output | differs from expected: | --- /dev/null 2014-02-15 17:35:19.578872448 -0800 | +++ ./typecheck/should_run/TcCoercible.run.stderr 2014-05-29 | 16:27:30.476701835 -0700 | @@ -0,0 +1,2 @@ | + | +TcCoercible:7:30: Not in scope: ‘Main.main’ | }}} | | -- | Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9153> | GHC <http://www.haskell.org/ghc/> | The Glasgow Haskell Compiler | _______________________________________________ | ghc-tickets mailing list | ghc-tick...@haskell.org | http://www.haskell.org/mailman/listinfo/ghc-tickets _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs