
#15629: "No skolem info" panic (GHC 8.6 only) -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler (Type | Version: 8.6.1-beta1 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Blimey, it looks like this has been fixed on GHC HEAD: {{{ $ /opt/ghc/head/bin/ghci Bug.hs GHCi, version 8.7.20180827: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/rgscott/.ghci [1 of 1] Compiling Bug ( Bug.hs, interpreted ) Bug.hs:50:39: error: • Expected kind ‘m z ~> Rep1 m ab’, but ‘(From1Sym0 :: m z ~> Rep1 m z)’ has kind ‘m z ~> Rep1 m z’ • In the first argument of ‘(.@#@$$$)’, namely ‘(From1Sym0 :: m z ~> Rep1 m z)’ In the first argument of ‘Sing’, namely ‘(((From1Sym0 :: m z ~> Rep1 m z) .@#@$$$ To1Sym0) :: Rep1 m ab ~> Rep1 m ab)’ In the type signature: sFrom1To1Fun :: forall ab. Sing (((From1Sym0 :: m z ~> Rep1 m z) .@#@$$$ To1Sym0) :: Rep1 m ab ~> Rep1 m ab) | 50 | sFrom1To1Fun :: forall ab. Sing (((From1Sym0 :: m z ~> Rep1 m z) .@#@$$$ To1Sym0) :: Rep1 m ab ~> Rep1 m ab) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Bug.hs:51:20: error: • Couldn't match type ‘z’ with ‘ab’ ‘z’ is a rigid type variable bound by the type signature for: sFrom1To1Fun :: forall z1 ab1. Sing (From1Sym0 .@#@$$$ To1Sym0) at Bug.hs:50:5-112 ‘ab’ is a rigid type variable bound by the type signature for: sFrom1To1Fun :: forall z1 ab1. Sing (From1Sym0 .@#@$$$ To1Sym0) at Bug.hs:50:5-112 Expected type: Sing (From1Sym0 .@#@$$$ To1Sym0) Actual type: Sing (From1Sym0 .@#@$$$ To1Sym0) • In the expression: sFrom1Fun %.$$$ sTo1Fun In an equation for ‘sFrom1To1Fun’: sFrom1To1Fun = sFrom1Fun %.$$$ sTo1Fun In an equation for ‘f’: f _ = () where sFrom1Fun :: forall ab. Sing (From1Sym0 :: m ab ~> Rep1 m ab) sFrom1Fun = undefined sTo1Fun :: forall ab. Sing (To1Sym0 :: Rep1 m ab ~> m ab) sTo1Fun = undefined .... • Relevant bindings include sFrom1To1Fun :: Sing (From1Sym0 .@#@$$$ To1Sym0) (bound at Bug.hs:51:5) | 51 | sFrom1To1Fun = sFrom1Fun %.$$$ sTo1Fun | ^^^^^^^^^^^^^^^^^^^^^^^ }}} I'm dying to know what fixed this... -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15629#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler