23 lines
587 B
Ada
23 lines
587 B
Ada
-- { dg-do compile }
|
|
|
|
procedure Equal3 is
|
|
type R is record
|
|
A, B : Integer;
|
|
end record;
|
|
|
|
package Pack is
|
|
type RR is record
|
|
C : R;
|
|
end record;
|
|
|
|
X : RR := (C => (A => 1, B => 1));
|
|
Y : RR := (C => (A => 1, B => 2));
|
|
pragma Assert (X /= Y); --@ASSERT:PASS
|
|
|
|
end Pack;
|
|
use Pack;
|
|
function "=" (X, Y : R) return Boolean is (X.A = Y.A); -- { dg-error "equality operator must be declared before type \"R\" is frozen \\(RM 4.5.2 \\(9.8\\)\\) \\(Ada 2012\\)" }
|
|
begin
|
|
pragma Assert (X /= Y); --@ASSERT:FAIL
|
|
end Equal3;
|