| -- { dg-do compile } | |
| package body Pak is | |
| pragma Suppress (Discriminant_Check); | |
| -- Suppress discriminant check to prevent the assignment from using | |
| -- the predefined primitive _assign. | |
| procedure Initialize (X : in out T) is begin null; end Initialize; | |
| procedure Finalize (X : in out T) is begin null; end Finalize; | |
| procedure Assign (X : out T'Class) is | |
| Y : T; | |
| begin | |
| T (X) := Y; | |
| end Assign; | |
| end Pak; |