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-Thread: 103376,9b7d3a51d0d8b6ee X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!w39g2000prb.googlegroups.com!not-for-mail From: Adam Beneschan Newsgroups: comp.lang.ada Subject: Re: Extending discriminant types Date: Tue, 25 Nov 2008 16:58:00 -0800 (PST) Organization: http://groups.google.com Message-ID: <2ebc6a98-ebd9-4bfb-b69a-c313e9a9090a@w39g2000prb.googlegroups.com> References: <20081115101632.5f98c596@cube.tz.axivion.com> <20081122011825.5354d1c1@cube.tz.axivion.com> <4928ecad$0$32681$9b4e6d93@newsspool2.arcor-online.net> <648Wk.39330$_Y1.32087@bgtnsc05-news.ops.worldnet.att.net> <492a7d07$0$30236$9b4e6d93@newsspool1.arcor-online.net> <8e021577-260a-44e1-b765-4d81f6ba89df@33g2000yqm.googlegroups.com> <492be08b$0$32676$9b4e6d93@newsspool2.arcor-online.net> <0xZWk.396391$TT4.276049@attbi_s22> <71304b75-71bc-4691-b511-69882bdc0fc3@a12g2000pro.googlegroups.com> <492c77a1$0$31347$9b4e6d93@newsspool4.arcor-online.net> NNTP-Posting-Host: 66.126.103.122 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1227661080 26754 127.0.0.1 (26 Nov 2008 00:58:00 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 26 Nov 2008 00:58:00 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: w39g2000prb.googlegroups.com; posting-host=66.126.103.122; posting-account=duW0ogkAAABjRdnxgLGXDfna0Gc6XqmQ User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.7.12-1.3.1,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:2790 Date: 2008-11-25T16:58:00-08:00 List-Id: On Nov 25, 2:33 pm, "Jeffrey R. Carter" wrote: > Georg Bauhaus wrote: > > > But I'm lost here, is this really a bug? > > True, a discrete formal ["(<>)"] allows an integer actual. But consider > > package P is new U (N => Boolean); > > What is the range of Count? 0 .. True? Generic rules are supposed to be > pessimistic; a compiler should not allow the declaration of Count just because > the actual for N might be an integer type. So I think this is really an error. It definitely is. See 12.3(11); when a generic declaration and body are compiled, the legality rules are enforced. I won't go into which Legality Rules apply to this specific example, but it's enough to say that since N (a generic formal discrete type) is not an integer type, you can't use a universal_integer where the expected type is N. -- Adam