id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
1133,auto-derivation of Enum is disallowed with recursive imports,heatsink,simonpj,"A data type with one single-parameter constructor can normally be declared deriving(Enum) when compiling with -fglasgow-exts.  However, when the data type is also declared in a hs-boot file, this is not accepted.  The following test case demonstrates the problem.  The same thing happens if the 'deriving' clause is also present in the hs-boot file.

{{{
{- file X.hs-boot -}
module X where
newtype X = X Int

{- file X.hs -}
module X where
import {-# SOURCE #-} X
newtype X = X Int deriving(Enum)
}}}

> ghc -c -fglasgow-exts X.hs-boot X.hs

The error occurs in X.hs: {{{Can't make a derived instance of `Enum X' (`X' has non-nullary constructors)}}}",bug,closed,lowest,_|_,Compiler,6.6,fixed,,,Unknown/Multiple,Unknown/Multiple,None/Unknown,Unknown,"T1133, T1133A",,,
