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