Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,334
    • Issues 4,334
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 368
    • Merge Requests 368
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #2212

Closed
Open
Opened Apr 11, 2008 by Simon Peyton Jones@simonpjDeveloper

Double assignment to coercion variable

Test gadt/equal is failing with

ghc-6.9: panic! (the 'impossible' happened)
  (GHC version 6.9 for x86_64-unknown-linux):
	ASSERT failed! file typecheck/TcMType.lhs line 520 t_aaS{tv} [tau]

(You may not see this if you don't build a DEBUG compiler.)

The problem is that the same coercion variable is being assigned a value twice. Here it is with more info printed, showing the existing and new coercions

ghc-6.9: panic! (the 'impossible' happened)
  (GHC version 6.9 for x86_64-unknown-linux):
	writeMetaTyVar
    t_aaS{tv} [tau] 
                    ghc-prim:GHC.Prim.trans{(w) tc 34y}
                      t_abf{tv} [tau]
                      (ghc-prim:GHC.Prim.sym{(w) tc 34v} $co${tc abb} [tv])

                    ghc-prim:GHC.Prim.trans{(w) tc 34y}
                      (ghc-prim:GHC.Prim.trans{(w) tc 34y}
                         (ghc-prim:GHC.Prim.trans{(w) tc 34y}
                            $co${tc ab2} [tv] (a{tv aaz} [sk], $co${tc aaV} [tv]))
                         ($co${tc aaY} [tv], b{tv aay} [sk]))
                      t_ab8{tv} [tau]
Trac metadata
Trac field Value
Version 6.8.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture Unknown
Assignee
Assign to
6.10 branch
Milestone
6.10 branch
Assign milestone
Time tracking
None
Due date
None
Reference: ghc/ghc#2212