id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
62,Parsing or desugaring of field initialisers is broken,benl,,"
For this code:

{{{
data Rover %r %i %s
 = Rover {
    turnSpeedHardMax:: Float %i;
    .homePos :: List %r (Int %r) 	= [1, 2, 3];
    .turn    :: Bool %i 		= True;
--  .turn    :: Bool %i 		= id True; --- adding an id makes it work
 }
}}}

We get:

{{{
./test/Broken-skip/T62-ParseFieldInitialisers/Test.ds:3:0
    Type mismatch during unification.
          cannot match: *151 -(!154 $155)> *152
                  with: Data.Bool.Bool %157

          definition of field turn of 'Test.Rover' in type 'Test.Rover'
                      at: ./test/Broken-skip/T62-ParseFieldInitialisers/Test.ds:3:0

        conflicts with, 
              the use of: True
                 at type: Data.Bool.Bool %157
                      at: ./test/Broken-skip/T62-ParseFieldInitialisers/Test.ds:7:26
}}}

Adding an bogus application of {{{id}}} to {{{True}}} makes it work for some reason.

Test is {{{T62-ParseFieldInitialisers}}}",defect,closed,blocker,0.1.3,Source Desugarer,0.1.2,fixed,,
