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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7a180be12347b9d3 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,7a180be12347b9d3 X-Google-Attributes: gid1108a1,public X-Google-ArrivalTime: 2002-02-22 08:58:32 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-out.visi.com!hermes.visi.com!uunet!ash.uu.net!spool0900.news.uu.net!reader0900.news.uu.net!not-for-mail Message-ID: <3C767902.2090908@mail.com> Date: Fri, 22 Feb 2002 11:59:46 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.8+) Gecko/20020213 X-Accept-Language: en-us MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.object Subject: Re: Merits of re-dispatching References: <3c70b935.501062@News.CIS.DFN.DE> <3c721028.221281@News.CIS.DFN.DE> <3C748B15.7080005@mail.com> <3c74b2a0.415796@News.CIS.DFN.DE> <3C7539CC.4080907@mail.com> <3c7607f9.87807140@News.CIS.DFN.DE> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Cache-Post-Path: master.nyc.kbcfp.com!unknown@mosquito.nyc.kbcfp.com X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1014397111 reader0.ash.ops.us.uu.net 26452 204.253.250.10 Xref: archiver1.google.com comp.lang.ada:20259 comp.object:34955 Date: 2002-02-22T11:59:46-05:00 List-Id: Dmitry A. Kazakov wrote: > That's the whole point. Dispatching vs. not dispatching is not an > implementation detail, but a part of the contract. It seems that we > are using different definitions of dispatch, thus we'll never agree. Yes, it's part of the contract, and in C++ it always dispatches. There is only one definition of dispatch that I'm aware of - when a virtual method is called through a pointer to an object, the method actually called is determined by the actual type of the object, not the declared type of the pointer. In C++, it is this actual type which changes as control progresses through the hierarchy of constructors or destructors. > No. I said exactly the opposite: > "The behaviour of B::~B is safe." Here is what you said in your original message: C++ and Ada 95 support re-dispatching, which I think is inherently unsafe > I definitely do not want that self-contradictory mixture > of types and their closures as in C++. I don't even know what this means. C++ does not have "self-contradictory" types.