From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,dbcfe2b0a74da57e X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!nuzba.szn.dk!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Inherited Methods and such Date: Thu, 27 Sep 2007 19:35:22 -0500 Organization: Jacob's private Usenet server Message-ID: References: <1190239986.762473.204290@k79g2000hse.googlegroups.com> <1rw45b3rmvmcr$.1df4wst5oknbl$.dlg@40tude.net> <1190296353.624737.150940@y42g2000hsy.googlegroups.com> <11m13st1f92kf$.m8s6y8mc8ebk.dlg@40tude.net> <1190321119.206313.65290@57g2000hsv.googlegroups.com> <1190408526.100291.265040@50g2000hsm.googlegroups.com> <9ukf2wtqjs0q$.iuijmal4x56b$.dlg@40tude.net> <1190497995.498679.119190@19g2000hsx.googlegroups.com> <1mw3qju08q8uj.sgzht7ld9ydc$.dlg@40tude.net> <1190579805.451187.71140@d55g2000hsg.googlegroups.com> <1i8ksr774bjbj.vpmnx3c0i9qz.dlg@40tude.net> <1190646125.024072.310020@19g2000hsx.googlegroups.com> <1r9s9v6pcjifl.vp4ktk0unpd1.dlg@40tude.net> <1190753631.240548.101820@19g2000hsx.googlegroups.com> <1190843408.713838.128690@g4g2000hsf.googlegroups.com> <1tovavprv3hg2$.w3sgselxd5ob$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: jacob-sparre.dk 1190939554 23911 69.95.181.76 (28 Sep 2007 00:32:34 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 28 Sep 2007 00:32:34 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1896 Xref: g2news2.google.com comp.lang.ada:2173 Date: 2007-09-27T19:35:22-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1tovavprv3hg2$.w3sgselxd5ob$.dlg@40tude.net... > On Thu, 27 Sep 2007 09:39:46 -0400, Robert A Duff wrote: > > > If the answer is > > "no", please give a realistic example where dispatching during > > construction makes sense. > > You construct a GUI window. There is a hierarchy of. The base constructor > might wish to know what kind of border the window has. > > type Window is ...; > function Get_Border_Type (X : Window) return ... is abstract; > > type Dialog_Frame is new Window with private; > function Get_Border_Type (X : Dialog_Frame return ...; This doesn't begin to make sense. The object hasn't even found out what it's border it (because it hasn't been constructed), and you want to ask what it is? Dispatching in a constructor is a bug, period. It's unfortunate that Ada can't detect it (and I'm unconvinced that an implementable runtime check could be made without distributed overhead). But there are a lot of bugs that Ada doesn't try to detect (uninitialized components, for instance), so I can't get that excited about this one. Randy.