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.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FROM_STARTS_WITH_NUMS autolearn=no autolearn_force=no version=3.4.4 X-Received: by 10.36.65.137 with SMTP id b9mr5492102itd.36.1516821361020; Wed, 24 Jan 2018 11:16:01 -0800 (PST) X-Received: by 10.157.11.12 with SMTP id a12mr724172ota.8.1516821360817; Wed, 24 Jan 2018 11:16:00 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!feed.usenet.farm!feeder4.usenet.farm!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!g80no193963itg.0!news-out.google.com!b73ni9694ita.0!nntp.google.com!g80no193961itg.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 24 Jan 2018 11:16:00 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=85.242.255.128; posting-account=rhqvKAoAAABpikMmPHJSZh4400BboHwT NNTP-Posting-Host: 85.242.255.128 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <1aaa851e-495a-4dd4-8db7-0fd84ee8225f@googlegroups.com> Subject: how to force the Small aspect of a new type derived from the generic formal type ? From: Mehdi Saada <00120260a@gmail.com> Injection-Date: Wed, 24 Jan 2018 19:16:01 +0000 Content-Type: text/plain; charset="UTF-8" X-Received-Body-CRC: 1542490685 X-Received-Bytes: 1944 Xref: reader02.eternal-september.org comp.lang.ada:50118 Date: 2018-01-24T11:16:00-08:00 List-Id: Yet again... Look at this ! The teacher said: use Small aspect/representation clause, and somewhere else he said to make the package generic. I did both... generic type Modele is delta <> ; package Proba is type T_proba is new MODELE range 0.1..1.0 with Small => Modele'Delta; gives us: representation item not allowed for generic type I don't get it, since the RM states: formal_complete_type_declaration ::= type defining_identifier[discriminant_part] is formal_type_definition [aspect_specification]; Doing it otherwise: type Modele is delta <> with SMALL => MODELE'DELTA; gives a more precise warning: aspect "Small" not allowed for formal type declaration. How do I do that ? Forcing the representation of a new type derived from the generic formal type ?