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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,69c50fc0d29ced1b X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!198.186.190.251.MISMATCH!transit4.readnews.com!textspool1.readnews.com!news-out.readnews.com!postnews3.readnews.com!not-for-mail Message-Id: <4bf45732$0$2407$4d3efbfe@news.sover.net> From: "Peter C. Chapin" Subject: Re: Q: SPARK visibility rules and inherit annotations. Newsgroups: comp.lang.ada Date: Wed, 19 May 2010 17:29:22 -0400 References: <4bf3fce5$0$2399$4d3efbfe@news.sover.net> <568bb04d-6ad6-46da-9eb2-8d81c8c52b59@v18g2000vbc.googlegroups.com> User-Agent: KNode/0.10.9 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Organization: SoVerNet (sover.net) NNTP-Posting-Host: 4a32ec7b.news.sover.net X-Trace: DXC=9?kPPPVL;nb\GGKKj:QcehK6_LM2JZB_cWFl;dJ3@K]g:WUUlR<856oOaSWeh^H\]g2mfnKm:538` X-Complaints-To: abuse@sover.net Xref: g2news2.google.com comp.lang.ada:11780 Date: 2010-05-19T17:29:22-04:00 List-Id: Phil Thornley wrote: > Peter, > > The problem comes from the reference in one child of TMLib to another > child of TMLib. > > Where this is the case, in the code and annotations - but not in the > inherit or context clauses - the common parent must not appear in the > name. > > So change the line: > (Raw_Data : in TMLib.Cryptographic_Services.Octet_Array; > to: > (Raw_Data : in Cryptographic_Services.Octet_Array; That did the trick, thanks. Now that you mention it, I seem to recall this coming up for me before, although it was a while ago now. Thanks for your explanation as well. One thing I like about Ada in general is how you can express a design in package specifications and then let the compiler check a few things about its consistency before embarking on the implementation. With SPARK that effect is even greater. For example in my Cryptographic_Services package the Examiner initially complained about how there was no way to initialize one of my private types. It was an oversight on my part (I was missing a critical operation). I would have figured it out eventually, I'm sure, but it was nice to have the issue caught earlier rather than later. It made me reflect on what I was really trying to accomplish with the package and that can only be a good thing. Peter