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		
