
#15810: Kind inference error in classes -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.6.1 Resolution: | Keywords: 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): That change does indeed appear to fix the issue when I tried it. Only one test case seems to regress with this change: {{{#!diff diff -uw "polykinds/T7328.run/T7328.stderr.normalised" "polykinds/T7328.run/T7328.comp.stderr.normalised" --- polykinds/T7328.run/T7328.stderr.normalised 2018-11-11 15:15:40.843707612 -0500 +++ polykinds/T7328.run/T7328.comp.stderr.normalised 2018-11-11 15:15:40.843707612 -0500 @@ -1,6 +1,6 @@ T7328.hs:8:34: - Occurs check: cannot construct the infinite kind: k1 ~ k0 -> k1 + Occurs check: cannot construct the infinite kind: k00 ~ k0 -> k00 In the first argument of ‘Foo’, namely ‘f’ In the first argument of ‘Proxy’, namely ‘(Foo f)’ In the type signature: foo :: a ~ f i => Proxy (Foo f) }}} I can't tell if this is expected behavior or not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15810#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler