6.4(20/3) procedure Pair(Left, Right : in Person_Name := new Person(M));
(23/3) Pair;
Pair(Left => new Person(F), Right => new Person(M));
According to (24) NOTE, these calls are equivalent, however in the former call, two M are created, in the latter, one F and one M.
BTW: Person is defined in 3.10.1(22), but Gender is undefined - there is no reference to where this is defined as an example. (I understand examples should be complete in the RM.)
6.4(20/3) procedure Pair(Left, Right : in Person_Name := new Person(M)); (23/3) Pair; Pair(Left => new Person(F), Right => new Person(M));
According to (24) NOTE, these calls are equivalent, however in the former call, two M are created, in the latter, one F and one M.
BTW: Person is defined in 3.10.1(22), but Gender is undefined - there is no reference to where this is defined as an example. (I understand examples should be complete in the RM.)