Skip to content

Core lint error with unused kind variable in data type return kind

Finally managed to trigger a core lint error with #12045 (closed)

{-# Language    RankNTypes       #-}
{-# Language    TypeApplications #-}
{-# Language    DataKinds        #-}
{-# Language    PolyKinds        #-}
{-# Language    TypeOperators    #-}
{-# Language    GADTs            #-}
{-# Options_GHC -dcore-lint      #-}

import Data.Kind

type Cat ob = ob -> ob -> Type

data (×) :: forall (cat1 :: Cat ob1) (cat2 :: Cat ob2). Cat (ob1, ob2) where
  Prod
    :: forall
         ob1  ob2
         cat1 cat2
         a1   b1
         a2   b2 u.
       cat1 a1 b1
    -> cat2 a2 b2
    -> (×) @u '(a1, a2) '(b1, b2)

log attached from running ghci -ignore-dot-ghci <file>.hs

Trac metadata
Trac field Value
Version 8.6.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC mnguyen
Operating system
Architecture
Edited by Ryan Scott
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information