Skip to content

GeneralizedNewtypeDeriving unusable on associated types

This code:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

class C c where
  data F c r

instance C Int where
  newtype F Int r = F (IO r) deriving (Functor)

fails to compile with the following message:

    Derived instance `Functor (F Int)'
      requires illegal partial application of data type family F
    In the newtype instance declaration for `F'

This might be related to #4185 (closed), but then it is marked as fixed in GHC 7.6.2, and I experience my error on 7.6.3.

Trac metadata
Trac field Value
Version 7.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information