Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 5,252
    • Issues 5,252
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 577
    • Merge requests 577
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #11136
Closed
Open
Issue created Nov 26, 2015 by airini@trac-airini

Associated type family: panic due to mismatch in arity of default instances

Having extra type parameters in the definition of default instances for an associated type family causes a ghc panic error (should be detected as a not valid instance). Smallest case example:

class C a where
  type D a
  type instance D a x = x

It produces the error:

[1 of 1] Compiling Main             ( SplitKindFun.hs, interpreted )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.10.2 for x86_64-apple-darwin):
	splitKindFunTysN 1 *

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Crashes similarly for additional parameters in the default instance:

class C a where
  type D a
  type instance D a x y = x
[1 of 1] Compiling Main             ( SplitKindFun.hs, interpreted )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.10.2 for x86_64-apple-darwin):
	splitKindFunTysN 2 *

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Presumably the arity is not compared correctly to that of the family declaration when the kind is default * since the following (and equivalent) causes the panic crash:

class C a where
  type D a :: *
  type instance D a x = x

but increasing the arity of the family's kind

class C a where
  type D a :: * -> *
  type instance D a x = x

raises the appropriate error:

[1 of 1] Compiling Main             ( SplitKindFun.hs, interpreted )

SplitKindFun.hs:6:3:
    Number of parameters must match family declaration; expected 1
    In the default type instance declaration for ‘D’
    In the class declaration for ‘C’
Failed, modules loaded: none.

Longer verbose compiler output of the original error:

$ ghc -v SplitKindFun.hs 
Glasgow Haskell Compiler, Version 7.10.2, stage 2 booted by GHC version 7.10.1.20150612
Using binary package database: /Library/Frameworks/GHC.framework/Versions/7.10.2-x86_64/usr/lib/ghc-7.10.2/package.conf.d/package.cache
Using binary package database: /Users/uu/.ghc/x86_64-darwin-7.10.2/package.conf.d/package.cache
wired-in package ghc-prim mapped to ghc-prim-0.4.0.0-af16264bc80979d06e37ac63e3ba9a21
wired-in package integer-gmp mapped to integer-gmp-1.0.0.0-8e0f14d0262184533b417ca1f8b44482
wired-in package base mapped to base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-haskell-2.10.0.0-161ca39a5ae657ff216d049e722e60ea
wired-in package ghc mapped to ghc-7.10.2-5c2381785a7b22838c6eda985bc898cf
wired-in package dph-seq not found.
wired-in package dph-par not found.
Hsc static flags: 
wired-in package ghc-prim mapped to ghc-prim-0.4.0.0-af16264bc80979d06e37ac63e3ba9a21
wired-in package integer-gmp mapped to integer-gmp-1.0.0.0-8e0f14d0262184533b417ca1f8b44482
wired-in package base mapped to base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-haskell-2.10.0.0-161ca39a5ae657ff216d049e722e60ea
wired-in package ghc mapped to ghc-7.10.2-5c2381785a7b22838c6eda985bc898cf
wired-in package dph-seq not found.
wired-in package dph-par not found.
*** Chasing dependencies:
Chasing modules from: *SplitKindFun.hs
Stable obj: []
Stable BCO: []
Ready for upsweep
  [NONREC
      ModSummary {
         ms_hs_date = 2015-11-26 15:20:15 UTC
         ms_mod = Main,
         ms_textual_imps = [import (implicit) Prelude]
         ms_srcimps = []
      }]
*** Deleting temp files:
Deleting: 
compile: input file SplitKindFun.hs
Created temporary directory: /var/folders/m3/cx6_zbks6qq2xtwx92njp8w40000gn/T/ghc755_0
*** Checking old interface for Main:
[1 of 1] Compiling Main             ( SplitKindFun.hs, SplitKindFun.o )
*** Parser:
*** Renamer/typechecker:
*** Deleting temp files:
Deleting: /var/folders/m3/cx6_zbks6qq2xtwx92njp8w40000gn/T/ghc755_0/ghc_1.s
Warning: deleting non-existent /var/folders/m3/cx6_zbks6qq2xtwx92njp8w40000gn/T/ghc755_0/ghc_1.s
*** Deleting temp dirs:
Deleting: /var/folders/m3/cx6_zbks6qq2xtwx92njp8w40000gn/T/ghc755_0
ghc: panic! (the 'impossible' happened)
  (GHC version 7.10.2 for x86_64-apple-darwin):
	splitKindFunTysN 1 *

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field Value
Version 7.10.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler (Type checker)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking