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-Language: ENGLISH,ASCII X-Google-Thread: 103376,d402e2c741db0d0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-09 03:20:58 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!tar-atanamir.cbb-automation.DE!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: Language lawyer question: Equality on 'Access attributes Date: Fri, 09 Jan 2004 12:27:21 +0100 Message-ID: References: <4LKdnRRNyv6AlmCiRVn-ig@comcast.com> <6bSdnYBKy_diPGCi4p2dnA@gbronline.com> <5a6dnSDERdpetGOi4p2dnA@gbronline.com> NNTP-Posting-Host: tar-atanamir.cbb-automation.de (212.79.194.116) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de 1073647256 9275722 212.79.194.116 ([77047]) X-Newsreader: Forte Agent 1.8/32.548 Xref: archiver1.google.com comp.lang.ada:4254 Date: 2004-01-09T12:27:21+01:00 List-Id: On Thu, 08 Jan 2004 23:10:44 -0500, Ze Administrator wrote: >Adam Beneschan wrote: >> No, I'm not. If there are a dozen named access-to-integer types >> directly visible at that point (which would mean that their "=" >> operators are also visible), the RM rules clearly say that "=" would >> be ambiguous. I think I briefly touched on that situation in my >> original post. The question is, what should happen when only one such >> "=" operator is a possibility. > >Every construct that implies a type without naming it >effectively declares an anonymous type, right? Can any >two constructs 'declare' the same anonymous type? No, but it is not that simple, because anonymous types aren't matched by names. This works fine with unary operations, but might be problematic with n-ary ones (like = is). It could be easy to do if ARM would define sort of "universal access type" as it does for integers. But this not the case. Annex K only states: "...The type of X�Access is an access-to-object type, as determined by the expected type. The expected type shall be a general access type. See 3.10.2." What is the "expected type" in the case of X'Access = Y'Access? There is no one! So I think that GNAT formally does not contradict the standard. -- Regards, Dmitry A. Kazakov www.dmitry-kazakov.de