with Smart_Pkg; use Smart_Pkg;
with Gnat.Debug_Pools;
with Ada.Exceptions; use Ada.Exceptions;
with Ada.Text_Io; use Ada.Text_Io;
procedure Smartest is
use Smart_Pkg.Smart;
begin
Put_Line ("Start.");
declare
-- P : Smart.Object := Bind (new Integer'(5));
-- Q : Smart.Object;
I : Integer := 1;
begin
-- Bind (Q, new Integer'(6));
Gnat.Debug_Pools.Print_Info_Stdout (Smart_Pkg.Pool);
-- Put_Line (Integer'Image ( + P));
end;
Gnat.Debug_Pools.Print_Info_Stdout (Smart_Pkg.Pool);
Put_Line ("End.");
exception
when E : others =>
Put_Line ("Exception: " & Exception_Information (E));
end Smartest;