[GHC] #14846: Renamer hangs (because of -XInstanceSigs?)
GHC
ghc-devs at haskell.org
Fri Feb 23 17:10:27 UTC 2018
#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
More information about the ghc-tickets
mailing list