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,4894bc8fcf637af8,start X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!news.cs.univ-paris8.fr!u-psud.fr!not-for-mail From: Philippe Tarroux Newsgroups: comp.lang.ada Subject: Interfaces and private types Date: Mon, 28 Jan 2008 18:16:38 +0100 Organization: University Paris-Sud, France. Message-ID: NNTP-Posting-Host: osiris.limsi.fr Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news2.u-psud.fr 1201540503 20617 129.175.157.197 (28 Jan 2008 17:15:03 GMT) X-Complaints-To: newsmaster@u-psud.fr NNTP-Posting-Date: Mon, 28 Jan 2008 17:15:03 +0000 (UTC) User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) Xref: g2news1.google.com comp.lang.ada:19631 Date: 2008-01-28T18:16:38+01:00 List-Id: Hi again, There is no compilation problem with the following code : package Test_Interfaces is type Int is synchronized interface; procedure Init (I : in out Int) is abstract; type T is new Int with private; private task type T is entry Init; end T; end Test_Interfaces; but, in a main program when I declare an object (i can't see it is a task) of type T, the compiler tells me that Init must be overriden. It is of course overriden by the entry of the task which is not explicitly visible. Having to provide Init explicitly prevents to hide the type of T although the syntax of the call (Obj.Init) is the same for a task entry or a procedure. Does anybody know if there is a reason why in this case one cannot admit that Init is implicitly defined? Philippe Tarroux