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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3849a7e484f56749 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-07-11 06:41:00 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!195.25.12.36!oleane.net!oleane!jussieu.fr!cnam.fr!not-for-mail From: Sami Evangelista Newsgroups: comp.lang.ada Subject: Re: generic packages Date: Thu, 11 Jul 2002 15:41:21 +0200 Organization: Conservatoire National des Arts et Metiers Message-ID: <3D2D8B01.9040303@wanadoo.fr> References: <3D2ADF27.8070502@wanadoo.fr> NNTP-Posting-Host: lmi14.cnam.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: kelvin.cnam.fr 1026394792 1012 163.173.228.14 (11 Jul 2002 13:39:52 GMT) X-Complaints-To: usenet@news.cnam.fr NNTP-Posting-Date: 11 Jul 2002 13:39:52 GMT User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20011126 Netscape6/6.2.1 X-Accept-Language: en-us Xref: archiver1.google.com comp.lang.ada:27004 Date: 2002-07-11T13:39:52+00:00 List-Id: thank you for your response, but does the following code compile? ======================================================= --file generic_set.ads generic type Element is private; with function "=" (E1, E2 : in Element) return boolean; package Generic_Set is type Set_Record is private; type Set is private; generic with package a_set is new generic_set(<>); with package b_set is new generic_set(<>); with function a_to_b(A : in a_set.element) return b_set.element; function a_set_to_b_set(the_set : in a_set.set) return b_set.set; private type Set is access Set_record; type Set_record is record El : Element; Others_Els : Set; end record; end Generic_Set; ======================================================= Sami Evangelista SteveD wrote: > "Sami Evangelista" wrote in message > news:3D2ADF27.8070502@wanadoo.fr... > [snip] > >>now i want to declare a generic function which take a A set and return a >>B set according to a function wich take a A element and return B >>element. I have tried this in the generic_set.ads file, but gnat crashes >> > > The following code compiles with no crashes using gnat-3.14p-nt.exe on > Windows 2000. > ======================================================= > procedure test is > generic > type Element is private; > with function "=" (E1, E2 : in Element) return boolean; > package Generic_Set is > type Set_Record is private; > type Set is private; > -- ..... > private > type Set is access Set_record; > type Set_record is record > El : Element; > Others_Els : Set; > end record; > end Generic_Set; > > generic > with package a_set is new generic_set(<>); > with package b_set is new generic_set(<>); > with function a_to_b(A : in a_set.element) return b_set.element; > function a_set_to_b_set(the_set : in a_set.set) return b_set.set; > > function a_set_to_b_set(the_set : in a_set.set) return b_set.set is > dummy : b_set.Set; > begin > return dummy; > end a_set_to_b_set; > > begin > null; > end test; > ============================================== > It's not very useful as it is, I just wanted to reproduce your crash. > > SteveD > > > > >