#15170: GHC HEAD panic (dischargeFmv) -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler (Type | Version: 8.5 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"57858fc8b519078ae89a4859ce7588adb39f6e96/ghc" 57858fc/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="57858fc8b519078ae89a4859ce7588adb39f6e96" Make dischargeFmv handle Deriveds A Derived CFunEqCan does not "own" its FlatMetaTv (fmv), and should not update it. But one caller (canCFunEqCan) was failing to satisfy the precondition to dischargeFmv, which led to a crash (Trac #15170). I fixed this by making dischargeFmv handle Deriveds (to avoid forcing each caller to do so separately). NB: this does not completely fix the original #15170 bug, but I'll explain that on the ticket. The test case for this patch is actually the program in comment:1. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15170#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler