Skip to content

Generalized newtype deriving with associated types

When I have a

    class Foo a where
	type Bar a
	foobar :: a -> Bar a

an

instance Foo Fooey ...

and

newtype Fooey2 = F2 (Fooey) deriving (Foo) 

I expect the automatically generated deriving to include

type Bar Fooey2 = Bar Fooey

but this is not the case: I cannot get an associated type from a newtype to resolve to anything. My guess is that the combination of -XTypeFamilies and -XGeneralizedNewtypeDeriving is rare enough that this may simply not have been thought of yet, but it's something I'd like to see fixed.

Trac metadata
Trac field Value
Version 6.10.1
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