Hello experts! I thought I understood discriminants, however, when I tried to assign to MR2 and MR3 below, the compiler barked at me... ---------------------------------------------------- type My_Record (Item : Integer := 1; Data : Integer := 2) is record Stuff : Integer := Item * Data; end record; MR1 : My_Record; --MR2 : My_Record (Data => 3); --MR3 : My_Record (Item => 3); MR4 : My_Record (Item => 10, Data => 11); ---------------------------------------------------- Can someone enlighten me on this? Chris Sparks