
#8634: Relax functional dependency coherence check ("liberal coverage condition") -------------------------------------+------------------------------------- Reporter: danilo2 | Owner: Type: feature request | Status: new Priority: high | Milestone: 7.12.1 Component: Compiler | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #1241, #2247, | Blocking: #8356, #9103, #9227 | Differential Revisions: Phab:D69 -------------------------------------+------------------------------------- Comment (by atnnn): What is the status of this feature? I ran into another case where it might be useful: {{{#!hs {-# LANGUAGE FunctionalDependencies, FlexibleInstances, UndecidableInstances, ConstraintKinds, GADTs #-} class F a | -> a instance (eq ~ (a ~ ()), eq) => F a }}} GHC considers this illegal, but in practice it satisfies the functional dependency. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8634#comment:59 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler