| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2-resend 02/30] libxl: idl: allow KeyedUnion members to be empty
 On Tue, 2013-08-27 at 15:59 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH v2-resend 02/30] libxl: idl: 
> allow KeyedUnion members to be empty"):
> > On Tue, 2013-08-27 at 15:53 +0100, Ian Jackson wrote:
> > > I assume that the problem here is that the compiler rejects the empty
> > > struct.
> > 
> > I don't recall exactly, but I think so.
> 
> GCC even permits them as an extension.
I thought you meant the ocaml compiler, but of course we aren't at that
part of the series yet.
> 
> > > Is it really necessary to do this with a special-cased new "None" type
> > > rather than just fixing the empty structs by putting a dummy member in
> > > them ?
> > 
> > I'd rather a bit of skaniness in the idl compiler than in the end user
> > facing eventual API.
> 
> You are introducing skankiness not in the IDL compiler, but in the IDL
> itself.  I think it is better to have skankiness in some particular
> language's output than in the IDL input.
I think:
-                 ("invalid", Struct(None, [])),
+                 ("invalid", None),
is reducing the amount of skank in the IDL, None has a good match with
"nothing here", while "Strict(None, [])" is just random placeholder goo,
which would be even worse if we were to artificially add a member
In hindsight I might even have gone one further and made it:
-                 ("invalid", Struct(None, [])),
+                 ("invalid"),
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |