Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#10489 closed bug (fixed)

Panic in TcEvidence due to wrong role

Reported by: goldfire Owned by:
Priority: highest Milestone: 7.10.3
Component: Compiler Version: 7.11
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case: typecheck/should_compile/T10489
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


This single line tickles it:

convert d = let d' = case d of '0' -> '!' in d'


ghc: panic! (the 'impossible' happened)
  (GHC version 7.11.20150604 for x86_64-apple-darwin):
	ASSERT failed!
  file compiler/typecheck/TcEvidence.hs line 600 Sym cobox_af8M

Please report this as a GHC bug:

The failing assertion is about roles. Will look into this tomorrow.

Labeling this "highest" because it's a very silly regression.

Change History (10)

comment:1 Changed 2 years ago by Richard Eisenberg <eir@…>

In 61b96a86c5342fb1c850361177d60fe855d948f6/ghc:

Fix #10489

Dang, roles are annoying.

Test case: typecheck/should_compile/T10489

comment:2 Changed 2 years ago by goldfire

Status: newmerge
Test Case: typecheck/should_compile/T10489

This bug does not happen in 7.10.1, but please test this in the 7.10.2 release candidate and merge if it happens there, too. I'm labeling this "merge" to make sure this doesn't get missed.

comment:3 Changed 2 years ago by thoughtpolice

Milestone: 7.12.1
Resolution: fixed
Status: mergeclosed

Doesn't happen with the latest STABLE - but I've gone ahead and added a test to the ghc-7.10 branch to be sure (see 2237c9818c1cc719560821c3153ac2059094fdd5). Thanks Richard!

comment:4 Changed 2 years ago by goldfire

Status: closedmerge

This does happen in the tip of the 7.10 branch. But you need a DEBUG build to know that. Please merge the commit above. Thanks!

comment:5 Changed 2 years ago by thomie

Then that test should include the setup function unless(compiler_debugged(), skip).

comment:6 Changed 2 years ago by hvr


(milestone:7.10.2 is effectively closed)

comment:7 Changed 2 years ago by bgamari

Status: mergeclosed
Last edited 2 years ago by bgamari (previous) (diff)

comment:8 Changed 2 years ago by Thomas Miedema <thomasmiedema@…>

In 756fa0a/ghc:

Testsuite: skip T10489 unless compiler_debugged (#10489)

comment:9 Changed 2 years ago by thomie

Ben: maybe you didn't push that commit yet? It doesn't exist on the ghc-7.10 branch anyway.

comment:10 Changed 2 years ago by bgamari

Indeed I didn't; there was a small window where I thought it would be necessary to do a 7.10.3 release so I started pulling things. Those plans were thankfully dropped.

Regardless, the commit is now pushed. Thanks for the reminder!

Note: See TracTickets for help on using tickets.