[log in to unmask] wrote:
> procedure Finalize (Item : Needs_Guaranteed_Heap_Cleanup) is
> -- automatically called when Item exits scope.
> -- client of Item cannot prevent it (or forget it).
> Free (Item.Pointer);
> Finalize (Controlled(Item));
> end Finalize;
According to ARM 7.6(9), "The (default) implementations of Initialize,
Adjust, and Finalize have no effect.", so this call to Finalize seems
"If you think you got a nasty taunting this time,
you ain't heard nothing yet!"
Monty Python and the Holy Grail