#15577: TypeApplications-related infinite loop (GHC 8.6+ only) -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.6.1 Component: Compiler (Type | Version: 8.5 checker) | Keywords: Resolution: | TypeApplications, TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"2e226a46c422c12f78dc3d3f62fe5a15e22bd986/ghc" 2e226a46/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="2e226a46c422c12f78dc3d3f62fe5a15e22bd986" canCFunEqCan: use isTcReflexiveCo (not isTcReflCo) As Trac #15577 showed, it was possible for a /homo-kinded/ constraint to trigger the /hetero-kinded/ branch of canCFunEqCan, and that triggered an infinite loop. The fix is easier, but there remains a deeper questions: why is the flattener producing giant refexive coercions? }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15577#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler