#7545: Type variable capture in InstanceSigs message -----------------------------+---------------------------------------------- Reporter: Feuerbach | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Blockedby: Blocking: | Related: -----------------------------+---------------------------------------------- If I load this file in GHCi:
{{{ {-# LANGUAGE RankNTypes, InstanceSigs #-} class C a where f :: a -> b instance C (a -> b) where f :: x f = undefined }}} I get the message {{{ Method signature does not match class; it should be f :: forall b. (a -> b) -> b In the instance declaration for `C (a -> b)' }}} However, this is not the correct type (and if I copy-paste it, GHCi would still complain). The b from the instance head got captured. The correct type would be forall b1. (a -> b) -> b1. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7545> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs