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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,70414f56d810c10c X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.58.168 with SMTP id s8mr1076480pbq.15.1316345747974; Sun, 18 Sep 2011 04:35:47 -0700 (PDT) Path: m9ni8890pbd.0!nntp.google.com!news1.google.com!goblin1!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: discriminant questions Date: Sun, 18 Sep 2011 13:35:47 +0200 Organization: cbb software GmbH Message-ID: <1fp2o673mu9az$.d9loz1zbcl0d.dlg@40tude.net> References: <9f37b726-d80b-4d24-bf3f-28a14255f7fd@s20g2000yql.googlegroups.com> <86015926-d652-4265-aedd-413312d399f9@dq7g2000vbb.googlegroups.com> <0d272f62-67d0-4905-972c-8a7e912c5531@en1g2000vbb.googlegroups.com> <148cxoyabima2.16mz6xwdph2hj.dlg@40tude.net> <01a1374f-59ab-40be-9e39-0640cb2a513d@n35g2000yqf.googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: Oy3g+XLIXi32CeK3p6hEIA.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news1.google.com comp.lang.ada:18010 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2011-09-18T13:35:47+02:00 List-Id: On Sun, 18 Sep 2011 03:54:48 -0700 (PDT), ytomino wrote: >> If you mean specifically overriding the "operation" X.all, no you cannot. > > I would like to make record look like access type, not dereferenced > value. That is. You want to implement the interface of an access type (X.all is a part of this interface) by a type which is not access. Ada does not allow this, unfortunately. My position is that interfaces of all types must be inheritable and implementable, including access types, but most people here disagree with me. > If we can replace P.Element.all.all to P.all, that is good enough. > (type of P.Element is access access target-type) > ".all" is applied to raw access value on my plan. > Probably it's not related that you are worried. But you can have P.Element which is much more comfortable. There is no reason to expose access semantics if you can avoid it. And smart pointers are to hide pointers rather than to expose them. > If you insist, my purpose is trying new feature which seems to be > interesting. I am not sure if Ada 2012 offers new features interesting for designers of container libraries. OK, maybe one, functions have finally got [in] out parameters. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de