From: "Oliver Kellogg" <oliver.kellogg@vs.dasa.de>
Subject: Should this be legal?
Date: Thu, 22 Mar 2001 11:13:16 +0100
Date: 2001-03-22T11:13:16+01:00 [thread overview]
Message-ID: <99cjt2$v9g@newsserv.vs.dasa.de> (raw)
Hello Ada experts,
The full declaration of the Derived type looks different than
the partial view (Base_2 vs. Base(2))
Should this be legal?
Rational Apex 3.2.0b and GNAT 3.13p both accept it.
(However, both compilers tend to have problems with this
type of construction - especially in more complicated contexts.)
But then, if Base_2 and Base(2) are supposedly interchangeable,
how come the function Legal is accepted but function Illegal is
refused ("constraint not allowed here") ?
Thanks,
Oliver M. Kellogg
-- subtyped_discriminant.ads
package Subtyped_Discriminant is
type Base (N : Integer) is tagged null record;
subtype Base_2 is Base (2);
type Derived is new Base_2 with private;
private
type Derived is new Base (2) with null record;
-- However,
function Legal return Base_2;
function Illegal return Base (2);
end Subtyped_Discriminant;
next reply other threads:[~2001-03-22 10:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-22 10:13 Oliver Kellogg [this message]
2001-03-22 11:15 ` Should this be legal? Martin Dowie
2001-03-22 14:21 ` Oliver Kellogg
2001-03-22 16:29 ` Mark Lundquist
2001-03-22 16:51 ` Robert A Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox