id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3901,Panic from combining generalized list comprehensions and record wildcards,amthrax,igloo,"Combining record wild cards with generalized list comprehension grouping causes the type-checker to mis-infer the type of the list comprehension, potentially leading to a panic.  For example

{{{
data Rec = Rec {a :: Int} deriving (Show)

recs :: [[Int]]
recs = [a | Rec {..} <- [Rec 1], then group by a]
}}}

results in a type error, because GHC thinks recs has type [Int].  On the other hand,

{{{
recs :: [[Int]]
recs = [a | Rec {a=a} <- [Rec 1], then group by a]
}}}

compiles, correctly.

If the type annotation is omitted from the first example, GHC panics with

{{{
ghc: panic! (the 'impossible' happened)
  (GHC version 6.12.1 for x86_64-unknown-linux):
	expectJust rnStmt
}}}

I've attached a test file that demonstrates the bug.",merge,closed,normal,,Compiler,6.12.1,fixed,,,Linux,x86_64 (amd64),Compile-time crash,,rename/should_compile/T3901,,,
