
#9301: Rank-2 constraints are assigned kind * -------------------------------------+------------------------------------ Reporter: heisenbug | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by heisenbug): Running GHC with debug options `ghci -XRankNTypes -XConstraintKinds -ddump-parsed -ddump-rn -ddump-types -ddump-tcstrangelet.hs` I get: {{{ ==================== Parser ==================== strangelet :: forall t. Num t => () strangelet = \ _ -> () ==================== Renamer ==================== Main.strangelet :: forall t. Num t => () Main.strangelet = \ _ -> () TYPE SIGNATURES strangelet :: (forall t. Num t) -> () TYPE CONSTRUCTORS COERCION AXIOMS Dependent modules: [] Dependent packages: [base, ghc-prim, integer-gmp] ==================== Typechecker ==================== AbsBinds [] [] {Exports: [strangelet <= strangelet <>] Exported types: strangelet :: (forall t. Num t) -> () [LclId, Str=DmdType] Binds: strangelet = \ _ -> GHC.Tuple.()} Ok, modules loaded: Main. }}} The renamer still has it right, while both `-ddump-types -ddump-tc` already show the wrong signature. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9301#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler