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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.15.214 with SMTP id 83mr10647713iop.16.1447273437257; Wed, 11 Nov 2015 12:23:57 -0800 (PST) X-Received: by 10.182.42.195 with SMTP id q3mr116116obl.3.1447273437225; Wed, 11 Nov 2015 12:23:57 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!i2no1959819igv.0!news-out.google.com!f6ni1382igq.0!nntp.google.com!i2no1959813igv.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 11 Nov 2015 12:23:56 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=91.55.220.94; posting-account=rmHyLAoAAADSQmMWJF0a_815Fdd96RDf NNTP-Posting-Host: 91.55.220.94 References: <7ba56b33-28d4-42d2-8b9b-5ad9f5beab8b@googlegroups.com> <87io597447.fsf@theworld.com> <66278720-249a-4191-a908-bb840e7f3ccc@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <6d874e75-e2c9-47e9-b394-f04052f10aa3@googlegroups.com> Subject: Re: Bounded String question From: AdaMagica Injection-Date: Wed, 11 Nov 2015 20:23:57 +0000 Content-Type: text/plain; charset=ISO-8859-1 Xref: news.eternal-september.org comp.lang.ada:28308 Date: 2015-11-11T12:23:56-08:00 List-Id: This works: with Ada.Strings; use Ada.Strings; with Ada.Strings.Bounded; procedure BS_Test is package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (20); type OS is new BS.Bounded_String; No_OS : constant OS := OS (BS.Null_Bounded_String); -- renaming does not work here, only allowed for tagged types function To_OS (Source : in String; Drop : in Truncation := Error) return OS renames BS_Test.To_Bounded_String; -- inherited operations are implicitly defined in the same declarative region as the derived type B : OS := To_OS ("asdfghjkl"); S : String := To_String (B); begin -- BS_Test null; end BS_Test;