comp.lang.ada
 help / color / mirror / Atom feed
* derived formal types and known discriminants
@ 2017-06-23  0:45 sbelmont700
  2017-06-23 17:26 ` Randy Brukardt
  2017-07-03 17:24 ` Jere
  0 siblings, 2 replies; 14+ messages in thread
From: sbelmont700 @ 2017-06-23  0:45 UTC (permalink / raw)


Can any language lawyer explain the reasoning behind precluding known discriminants for general formal derived types?  For example, I can write this:

generic
  type T is new P with private; -- constrained (i.e. none)
  
and I can write this:

generic
  type T (<>) is new P with private;  -- unconstrained (i.e. any)
  
But I can't write

generic
  type T (foo : Integer) is new P with private;  -- (just one integer)
  
presumably because 12.5.1~11/3 says "The declaration of a formal derived type shall not have a known_discriminant_part", to wit GNAT complains "discriminants not allowed for this formal type".  It would seems as though if unknown discriminants are legal, known would be an easier subset, and my interest has been piqued to the reason why.

Thank you for any insight

-sb


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-07-04 17:34 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-23  0:45 derived formal types and known discriminants sbelmont700
2017-06-23 17:26 ` Randy Brukardt
2017-06-29 14:15   ` sbelmont700
2017-06-29 14:39     ` Dmitry A. Kazakov
2017-06-29 17:40       ` Robert Eachus
2017-06-30  1:10     ` Randy Brukardt
2017-06-30  7:24       ` Dmitry A. Kazakov
2017-06-30 18:09         ` Randy Brukardt
2017-07-04  0:30           ` sbelmont700
2017-07-04  1:36             ` gautier_niouzes
2017-07-04  2:29             ` Randy Brukardt
2017-07-04  7:09             ` Dmitry A. Kazakov
2017-07-04 17:34               ` Shark8
2017-07-03 17:24 ` Jere

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