From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: Type safety on wikipedia
Date: Fri, 27 Jan 2006 19:54:33 +0100
Date: 2006-01-27T19:54:33+01:00 [thread overview]
Message-ID: <15595105.IY1iVEeMMt@linux1.krischik.com> (raw)
In-Reply-To: 1138322309.525464.253320@z14g2000cwz.googlegroups.com
jimmaureenrogers@worldnet.att.net wrote:
>
> Florian Weimer wrote:
>> Now, suppose that X is a pool-specific access value for some type T,
>> and Free is a corresponding instance of Ada.Unchecked_Deallocation.
>> Suppose that
>>
>>
>> Free (X);
>>
>> has just been exected. Suppose the next thing to be evaluated is
>>
>> declare
>> Y : T := X.all;
>> begin
>> ...
>
>
> Let's look at an actual program doing an equivalent action:
> with Ada.Text_Io;
>
> procedure Access_Test is
> type Int_Access is access Integer;
> P : Int_Access;
> begin
> P := null;
> Ada.Text_Io.Put_Line(Integer'Image(P.All));
> end Access_Test;
Make that
with Ada.Text_Io;
procedure Access_Test is
type Int_Access is access Integer;
procedure Deallocate is new Unchecked_Deallocation ....
P : Int_Access := new Integer;
Q : Int_Access := P;
begin
Deallocate (P);
Ada.Text_Io.Put_Line(Integer'Image(Q.All));
end Access_Test;
That is what the garbage collection chapter of the article is all about.
For a type save language behavior of this code snippet must be well
defined. But in Ada it is not.
Martin
--
mailto://krischik@users.sourceforge.net
Ada programming at: http://ada.krischik.com
next prev parent reply other threads:[~2006-01-27 18:54 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-26 7:28 Type safety on wikipedia Martin Krischik
2006-01-26 11:58 ` Alex R. Mosteo
2006-01-26 17:10 ` Martin Krischik
2006-01-26 20:24 ` Simon Wright
2006-01-26 20:43 ` Simon Wright
2006-01-27 6:58 ` Martin Krischik
2006-01-26 23:43 ` Bobby D. Bryant
2006-01-27 11:14 ` Alex R. Mosteo
2006-01-27 11:57 ` Martin Krischik
2006-01-27 15:30 ` Larry Kilgallen
2006-01-27 19:04 ` Martin Krischik
2006-01-27 22:06 ` Larry Kilgallen
2006-01-28 7:04 ` Martin Krischik
2006-01-29 21:48 ` Florian Weimer
2006-01-27 12:43 ` Georg Bauhaus
2006-01-26 13:49 ` Rod Chapman
2006-01-26 17:05 ` Martin Krischik
2006-01-26 18:14 ` Martin Krischik
2006-01-26 13:53 ` jimmaureenrogers
2006-01-26 15:18 ` Alex R. Mosteo
2006-01-26 16:49 ` Martin Krischik
2006-01-26 18:19 ` Alex R. Mosteo
2006-01-26 20:38 ` Simon Wright
2006-01-27 11:13 ` Alex R. Mosteo
2006-01-27 19:38 ` Simon Wright
2006-01-27 23:24 ` Randy Brukardt
2006-01-28 6:53 ` Martin Krischik
2006-01-27 18:58 ` Martin Krischik
2006-01-27 19:50 ` Simon Wright
2006-01-28 6:52 ` Martin Krischik
2006-01-26 19:22 ` Dmitry A. Kazakov
2006-01-26 19:07 ` Florian Weimer
2006-01-27 0:38 ` jimmaureenrogers
2006-01-27 18:54 ` Martin Krischik [this message]
2006-01-28 1:48 ` Jan Andres
2006-01-28 6:44 ` Martin Krischik
2006-01-31 2:13 ` Randy Brukardt
2006-02-06 5:02 ` Dave Thompson
2006-02-06 8:29 ` Larry Kilgallen
2006-01-27 11:34 ` Alex R. Mosteo
2006-01-27 12:18 ` Martin Krischik
2006-01-27 15:27 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox