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,5f7e62b8f60099c1 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.megapath.net!news.megapath.net.POSTED!not-for-mail NNTP-Posting-Date: Thu, 06 Oct 2005 19:00:44 -0500 From: "Randy Brukardt" Newsgroups: comp.lang.ada References: <1128604768.018159.141700@g44g2000cwa.googlegroups.com> Subject: Re: limited with Date: Thu, 6 Oct 2005 19:04:29 -0500 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4952.2800 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4952.2800 Message-ID: NNTP-Posting-Host: 64.32.209.38 X-Trace: sv3-H0vbQeuR7idy+CSAG6bphUasd6pLAspXQVCZBCJLagz6Mg/zJcHCc8cdID/HC4Zktg5yR1EsXbkidsU!3pqmYN/hRiwBHxSUm9v6EkQC+CbrvU5Coeybdmc1wZLqx5JuWqC68/k5e+J2WhKlhmjU/SHvMsI/ X-Complaints-To: abuse@megapath.net X-DMCA-Complaints-To: abuse@megapath.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:5472 Date: 2005-10-06T19:04:29-05:00 List-Id: "Lucretia" wrote in message news:1128604768.018159.141700@g44g2000cwa.googlegroups.com... > Hi, > > I finally got an example of mutually recursive "with'ing" working using > GCC-4.2-CVS and the -gnat05 switch. > > Now my question is this; is it possible to do this without having to > use access types for the limited with'd type? I did try to make one of > my types a tagged type and remove the aliased and the 'access > attribute, but that didn't work. You can avoid using access types in the visible part of your specification as long as your types are tagged. (I highly recommend this for all tagged types, period. Leave the memory allocation up to your cleints.) But you will have to use an access type for any objects/components of the type, because you can't declare objects in the scope of a limited with. Essentially, in any such case, you'll need a level of indirection somewhere (the objects being declared/allocated in the body or in a called routine). If you can avoid objects (which is unlikely), then you don't need any access types. Randy.