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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no 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!postnews.google.com!o80g2000hse.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Inherited Methods and such Date: Fri, 28 Sep 2007 13:32:59 -0700 Organization: http://groups.google.com Message-ID: <1191011579.746176.80370@o80g2000hse.googlegroups.com> References: <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> <1190842629.099822.65770@g4g2000hsf.googlegroups.com> <1190927328.753361.138630@d55g2000hsg.googlegroups.com> NNTP-Posting-Host: 85.3.107.199 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: posting.google.com 1191011579 3256 127.0.0.1 (28 Sep 2007 20:32:59 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 28 Sep 2007 20:32:59 +0000 (UTC) In-Reply-To: User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: o80g2000hse.googlegroups.com; posting-host=85.3.107.199; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 Xref: g2news2.google.com comp.lang.ada:2205 Date: 2007-09-28T13:32:59-07:00 List-Id: On 28 Wrz, 02:44, "Randy Brukardt" wrote: > > 1. I don't have to redispatch from Initialize, I can do this from > > subprogram S1, which was called from S2, which was called from ... SN, > > which was called from Initialize. > > Of course, that's why it can't be banned. But it is still wrong. I would go > so far as to suggest that *calling out* from Initialize with an object of > the type (or an ancestor) is wrong (with the single exception of calling a > parent's Initialize routine). But that might be going too far. It might be good as a coding convention, though. > (Still, that > is a rule that could be implemented by a style checker Yes. > > > (I suspect the same is true while it is being > > > finalized > > > Yes. The tag should progressively "degrade" during subsequent stages > > of finalization. > > No reason for messing with the tag or doing it "progressively". If > dispatching is wrong on Initialize, it is wrong in all of them, so it would > be banned until construction is finished, and similarly during destruction. Just have said yourself that it cannot be banned. What about aliasing the object? I don't have to dispatch from Initialize directly - I can leak the reference to some global access variable and some other part of the code can pick it from there. A mess? Sure, but we are talking about completeness. BTW - your argument about covering this issue with education is dangerous - someone might use it against you the next time anybody criticizes "other" languages for being error prone... ;-) -- Maciej Sobczak http://www.msobczak.com/