comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Interresting, possibly buggy behavior in GNAT generics w/ expression function.
Date: Fri, 29 Mar 2013 19:56:05 -0500
Date: 2013-03-29T19:56:05-05:00	[thread overview]
Message-ID: <kj5d7a$8vp$1@munin.nbi.dk> (raw)
In-Reply-To: 1ex3dm2hk2j54$.1uiyljwziv0hi$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:1ex3dm2hk2j54$.1uiyljwziv0hi$.dlg@40tude.net...
...
>> But, do you think it should have failed at instantiation?
>
> It should fail to compile, instantiation time is too late. Generic
> contracts are much too weak.

This doesn't make much sense, as you then go on to suggest adding a formal 
contract which would have the effect of rejecting an instantiation if the 
type actually had Foo. That's exactly what Ada does, so I don't see any 
advantage of a complication.

The problem you are having is that you are viewing the contract of a generic 
in too narrow of a fashion. The contract includes not only the things in the 
generic part, but also a number of properties expressed in the rest of the 
specification. After all, almost all Ada legality rules are rechecked in 
instance specifications, and these too have to be considered part of the 
contract.

                                      Randy.





  parent reply	other threads:[~2013-03-30  0:56 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-28 17:34 Interresting, possibly buggy behavior in GNAT generics w/ expression function Shark8
2013-03-28 18:06 ` Simon Wright
2013-03-28 18:38   ` Shark8
2013-03-30  5:59     ` Stephen Leake
2013-03-30 14:20       ` Shark8
2013-03-29  7:45 ` Simon Wright
2013-03-29 12:27   ` Dmitry A. Kazakov
2013-03-29 14:45     ` Simon Wright
2013-03-29 16:21       ` Dmitry A. Kazakov
2013-03-29 16:43         ` Shark8
2013-03-29 17:43         ` Eryndlia Mavourneen
2013-03-29 17:45           ` Eryndlia Mavourneen
2013-03-29 18:38             ` Simon Wright
2013-03-30  0:56         ` Randy Brukardt [this message]
2013-03-30  9:24           ` Dmitry A. Kazakov
2013-04-02  0:52             ` Randy Brukardt
2013-04-02  8:51               ` Dmitry A. Kazakov
2013-04-02 21:59                 ` Randy Brukardt
2013-03-29 14:47   ` Shark8
2013-03-29 14:56     ` Shark8
2013-03-30  1:04   ` Randy Brukardt
2013-03-30  2:36     ` Shark8
2013-03-30 15:51     ` Simon Wright
2013-04-01 15:58     ` Adam Beneschan
2013-04-02  0:46       ` Randy Brukardt
2013-04-02  8:18         ` Simon Wright
2013-04-02 11:14         ` Stephen Leake
2013-04-02 22:00           ` Randy Brukardt
2013-04-02 23:01             ` Adam Beneschan
2013-04-04  0:08               ` Randy Brukardt
2013-03-29 14:47 ` Simon Wright
2013-03-29 14:54   ` Shark8
2013-03-29 15:26     ` Bill Findlay
2013-03-29 15:48     ` Simon Wright
replies disabled

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