No Skolem Info with PartialTypeSignatures
The following program triggers a panic:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
barWraper :: ('(r,r') ~ Head rngs, Foo rngs) => FooData rngs
barWraper = bar
bar :: (_) => FooData rngs
bar = foo
data FooData rngs
class Foo xs where foo :: (Head xs ~ '(r,r')) => FooData xs
type family Head (xs :: [k]) where Head (x ': xs) = x
> ghci NoSkolem.hs
[1 of 1] Compiling Main ( NoSkolem.hs, NoSkolem.o )
NoSkolem.hs:8:13: error:ghc: panic! (the 'impossible' happened)
(GHC version 8.0.1 for x86_64-unknown-linux):
No skolem info: k_aYV[sk]
I haven't tested with 8.0.2 or head.
Edited by Ben Gamari