From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA11242; Thu, 23 May 2002 22:34:59 +0200 (MET DST) Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA11146 for caml-list@pauillac.inria.fr; Thu, 23 May 2002 22:34:58 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA06989 for ; Tue, 21 May 2002 09:37:45 +0200 (MET DST) Received: from porsta.cs.Helsinki.FI (porsta.cs.Helsinki.FI [128.214.48.124]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g4L7biX05837 for ; Tue, 21 May 2002 09:37:44 +0200 (MET DST) Received: from alkokrunni.cs.Helsinki.FI (sslwrap@localhost [127.0.0.1]) by porsta.cs.Helsinki.FI (8.11.6/8.11.6) with ESMTP id g4JBahB19259 for ; Sun, 19 May 2002 14:36:48 +0300 Received: from localhost (lealanko@localhost) by alkokrunni.cs.Helsinki.FI (8.11.6/8.11.2) with SMTP id g4JBahh17096 for ; Sun, 19 May 2002 14:36:43 +0300 X-Authentication-Warning: alkokrunni.cs.Helsinki.FI: lealanko owned process doing -bs Received: from la by la.iki.fi with local (Exim 3.33 #1 (Debian)) id 179DqZ-00009m-00 for ; Sun, 19 May 2002 02:42:47 +0300 Date: Sun, 19 May 2002 02:42:45 +0300 From: Lauri Alanko To: caml-list@inria.fr Subject: Re: [Caml-list] CamlIDL and true abstract types Message-ID: <20020518234245.GA473@la.iki.fi> References: <20020517224534.A697@kruuna.Helsinki.FI> <1ycavsy2.fsf@mail.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1ycavsy2.fsf@mail.ru> User-Agent: Mutt/1.3.25i Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, May 18, 2002 at 11:03:17AM +0400, Dmitry Bely wrote: > Read the manual more carefully :-) > > typedef [abstract] void* Foo; Yes, I read about that, but I consider it a hack, not proper support. Since CamlIDL considers Foo completely opaque and doesn't even see that it is a pointer, I cannot use pointer-specific attributes such as [ref], [unique] and [ignore]. And saying that a type is void* when it really is Foo* isn't even strictly legal, the way the stubs are implemented: though conversion between void* and T* is legal for all object types T, conversion between void** and T** isn't, yet this is the sort of type punning that the generated stub code does. Lauri Alanko la@iki.fi ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners