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: a07f3367d7,bed01d177eaef486 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.224.177.12 with SMTP id bg12mr1461190qab.0.1343316136509; Thu, 26 Jul 2012 08:22:16 -0700 (PDT) Received: by 10.66.72.165 with SMTP id e5mr1620420pav.4.1343314437713; Thu, 26 Jul 2012 07:53:57 -0700 (PDT) Path: a15ni113198934qag.0!nntp.google.com!q21no5352901qas.0!news-out.google.com!p10ni64698300pbh.1!nntp.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!novia!news-peer1!btnet!zen.net.uk!hamilton.zen.co.uk!xlned.com!feeder5.xlned.com!feed.xsnews.nl!border-1.ams.xsnews.nl!newsfeed.straub-nv.de!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Signature Package With Generic Proceedure Date: Mon, 23 Jul 2012 11:26:03 +0100 Organization: A noiseless patient Spider Message-ID: References: <045f7b44-2a4a-4292-80fd-0b6bc8ee3465@googlegroups.com> Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="84970f972981d06cedfb580c49fe4706"; logging-data="26868"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18+U814/4hjp7+9U8W//UdJzbCb+AKs8uI=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (darwin) Cancel-Lock: sha1:Xu717Lxsf1JgZDCtbrGgYIWdrrM= sha1:FlzfDl5gnOuaeDnRm4tKO0u0mZk= X-Received-Bytes: 2506 Content-Type: text/plain Date: 2012-07-23T11:26:03+01:00 List-Id: Keean Schupke writes: > If I have a package which defines a procedure like: > > > generic > with procedure Process(Set : in out Set_Type); > procedure Update(Set : in out Set_Type); > > > How do a declare a Signature package that includes this? > > > generic > with generic > with procedure Process(Set : in out Set_Type); > procedure Update(Set : in out Set_Type); > package Set_Signature is end; > > > Is not allowed. Is there some way to do this with nested packages? I guess you meant to say generic type Set_Type is limited private; ... with generic with procedure Process(Set : in out Set_Type); procedure Update(Set : in out Set_Type); ... package Set_Signature is end; ? in which case I don't see why you couldn't say generic type Set_Type is limited private; ... with procedure Update(Set : in out Set_Type); ... package Set_Signature is end; Seems to me that all you need is for the actual Update to have that profile, who cares how it got that way? I've probably misunderstood this. Could maybe child units help? generic with procedure Process (Set : in out Set_Type); procedure Set_Signature.Update (Set : in out Set_Type);