comp.lang.ada
 help / color / mirror / Atom feed
From: stt@spock.camb.inmet.com (Tucker Taft)
Subject: Re: Deriving from non-null abstract type
Date: 1995/03/30
Date: 1995-03-30T00:00:00+00:00	[thread overview]
Message-ID: <D69IEx.w0@inmet.camb.inmet.com> (raw)
In-Reply-To: EACHUS.95Mar29115453@spectre.mitre.org

Robert I. Eachus (eachus@spectre.mitre.org) wrote:
: ...
:    An interesting philosophical question is whether the prohibition on
: aggregates of an abstract type in 3.9.3(7) was intended to apply to
: this case.  I suspect not,  ...

Yes it was.  We specifically investigated this issue, and added
the second kind of extension aggregates to handle the case of
extending an abstract private type.  When extending an abstract
nonprivate type, a normal record aggregate is the correct (and only
legal) approach.

: ...
:      For those who care, going back to Moti's example, the legal way to
: initialize the entire record using an extension aggregate is to say:

:      D: Derived_Type := (Abstract_Type with General_Info => G,
:                           Special_Info => S);

Not quite.  Leave out the "Abstract_Type with" part:

       D : Derived_Type := (General_Info => G, Special_Info => S);

: 					Robert I. Eachus

-Tucker Taft  stt@inmet.com
Intermetrics, Inc.




  reply	other threads:[~1995-03-30  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-03-29  0:00 Deriving from non-null abstract type Moti Ben-Ari
1995-03-29  0:00 ` Tucker Taft
1995-03-29  0:00 ` Robert I. Eachus
1995-03-30  0:00   ` Tucker Taft [this message]
1995-03-30  1:53 ` Dan Johnston D.B.
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox