Opened 3 years ago

Closed 3 years ago

#12439 closed bug (duplicate)

DeriveDataTypeable - deriving Data for several type constructor applications

Reported by: lspitzner Owned by:
Priority: normal Milestone:
Component: Compiler Version: 8.0.1
Keywords: deriving Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving #-}
import qualified Data.Data

data Mu f = Mu (f (Mu f))
deriving instance Data.Data.Data (Mu [])
deriving instance Data.Data.Data (Mu IO)

produces

    Multiple declarations of ‘$t3Ecq4GuAmh1HtkHHwEpyjp’
    [..]
    Multiple declarations of ‘$c3Ecq4GuAmh1HtkHHwEpyjp’
    [..]
    Duplicate type signatures for ‘$t3Ecq4GuAmh1HtkHHwEpyjp’
    [..]
    Duplicate type signatures for ‘$c3Ecq4GuAmh1HtkHHwEpyjp’
    [..]

As a workaround one can define instances in separate modules.

Change History (2)

comment:1 Changed 3 years ago by bgamari

Keywords: deriving added

comment:2 Changed 3 years ago by RyanGlScott

Resolution: duplicate
Status: newclosed

This is basically a duplicate of #12245, which was already fixed.

Note: See TracTickets for help on using tickets.