id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
81,Bug in core type checker,benl,,"With this program
{{{
class Copy2 a where
  copy2 :: forall b. a -(!e1)> b
	:- !e1 = !ReadT a
	,  Shape2 a b

instance Copy2 Int where
  copy2 x = x

main ()
 = do	i :: Int %r1 :- Const %r1
	i	= 5
	i'	= copy2 i
        i' := 27
	()
}}}

Have this in dump-core-dict
{{{
i' = /\ (+xC9             :: Mutable %rTS21) ->
     [** (Base.Int32 %rTS21) ]
     do {
        instance_Copy2_Int32_copy2 %r1 (i +wCB4);
     };
}}}

return type of copy2 is {{{(Int32 %r1)}}}, not {{{(Int %rTS21)}}}

This problem originally originally arises because the instance for copy2
didn't copy the int like it should have. 

Is really 2 bugs: core type checker, and and not checking instances against class defs

",defect,new,blocker,0.1.3,Build System,0.1.2,,,
