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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,6fa8b1cda58f3518 X-Google-Attributes: gid103376,public From: "Matthew Heaney" Subject: Default equality for generic formal types Date: 2000/02/22 Message-ID: #1/1 X-Deja-AN: 588234197 Content-transfer-encoding: 7bit Content-Type: text/plain; charset="US-ASCII" X-Complaints-To: abuse@earthlink.net X-Trace: newsread2.prod.itd.earthlink.net 951190309 38.26.88.237 (Mon, 21 Feb 2000 19:31:49 PST) Organization: EarthLink Network, Inc. Mime-version: 1.0 NNTP-Posting-Date: Mon, 21 Feb 2000 19:31:49 PST Newsgroups: comp.lang.ada Date: 2000-02-22T00:00:00+00:00 List-Id: Suppose I have a generic subprogram like this: generic type Item_Type is private; with function Item_Eq (L, R : Item_Type) return Boolean is "="; procedure Generic_Op (O : T); Suppose further that the generic actual type is nontagged, and has overridden its predefined equality. To which equality does Item_Eq refer? The overridden version, or the predefined version? What does that default value for Item_Eq, "=", mean at the time of compilation of the generic? If the client does not explicitly pass in an item equality op during the instantiation (likely, because the type is nonlimited), then inside Generic_Op, what does Item_Eq refer to? Predefined equality, or the overridding version? Thanks in advance, Matt