
#14607: Core Lint error -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: TypeInType, | DeferredTypeErrors Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #14605 #14584 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by Iceland_jack: Old description:
This produces long {{{#!hs {-# Language DerivingStrategies #-} {-# Language GADTs #-} {-# Language GeneralizedNewtypeDeriving #-} {-# Language InstanceSigs #-} {-# Language KindSignatures #-} {-# Language TypeFamilies #-} {-# Language TypeInType #-} {-# Language TypeOperators #-}
import Data.Kind
data DEFUNC :: Type -> Type -> Type where (:~>) :: a -> b -> DEFUNC a b
type a ~> b = DEFUNC a b -> Type
data LamCons a :: Type ~> Type where LamCons :: a -> LamCons a ([a] :~> [a])
class Mk (app :: Type ~> Type) where type Arg app :: Type
mk :: Arg app -> app (a :~> b)
instance Mk (LamCons a :: Type ~> Type) where type Arg (LamCons a) = a
mk :: a -> LamCons (a :~> b) mk = LamCons }}}
erros with `ghci -ignore-dot-ghci -fdefer-type-errors -dcore-lint bug.hs` on GHC 8.2.1 and 8.3.20171208.
New description: This produces a long Core lint error: {{{#!hs {-# Language DerivingStrategies #-} {-# Language GADTs #-} {-# Language GeneralizedNewtypeDeriving #-} {-# Language InstanceSigs #-} {-# Language KindSignatures #-} {-# Language TypeFamilies #-} {-# Language TypeInType #-} {-# Language TypeOperators #-} import Data.Kind data DEFUNC :: Type -> Type -> Type where (:~>) :: a -> b -> DEFUNC a b type a ~> b = DEFUNC a b -> Type data LamCons a :: Type ~> Type where LamCons :: a -> LamCons a ([a] :~> [a]) class Mk (app :: Type ~> Type) where type Arg app :: Type mk :: Arg app -> app (a :~> b) instance Mk (LamCons a :: Type ~> Type) where type Arg (LamCons a) = a mk :: a -> LamCons (a :~> b) mk = LamCons }}} with `ghci -ignore-dot-ghci -fdefer-type-errors -dcore-lint bug.hs` on GHC 8.2.1 and 8.3.20171208. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14607#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler