
#14846: Renamer hangs (because of -XInstanceSigs?) -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.5 Resolution: | Keywords: InstanceSigs | TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): I can't reproduce this with either version of GHC you give: {{{ $ /opt/ghc/8.2.2/bin/ghci Bug.hs GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/rgscott/.ghci [1 of 1] Compiling Main ( Bug.hs, interpreted ) Bug.hs:29:8: error: • Couldn't match type ‘ríki1’ with ‘Hom ríki’ ‘ríki1’ is a rigid type variable bound by the type signature for: i :: forall k2 (cls1 :: k2 -> Constraint) (a :: Struct cls1) (ríki1 :: Struct cls1 -> Struct cls1 -> *). StructI a => ríki1 a a at Bug.hs:29:8-42 Expected type: ríki1 a a Actual type: Hom ríki a a • When checking that instance signature for ‘i’ is more general than its signature in the class Instance sig: forall (a :: Struct cls0). StructI a => Hom ríki a a Class sig: forall k (cls :: k -> Constraint) (a :: Struct cls) (ríki :: Struct cls -> Struct cls -> *). StructI a => ríki a a In the instance declaration for ‘Category (Hom ríki)’ | 29 | i :: forall a. StructI a => Hom ríki a a | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Bug.hs:30:12: error: • Could not deduce: cls1 a1 arising from a use of ‘struct’ from the context: Category ríki bound by the instance declaration at Bug.hs:28:10-65 or from: StructI a bound by the type signature for: i :: forall (a :: Struct cls0). StructI a => Hom ríki a a at Bug.hs:29:8-42 • In the expression: struct :: AStruct (Structured a cls) In the expression: case struct :: AStruct (Structured a cls) of In an equation for ‘i’: i = case struct :: AStruct (Structured a cls) of | 30 | i = case struct :: AStruct (Structured a cls) of | ^^^^^^ }}} What am I missing? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14846#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler