why can't structs implement interfaces?
    bearophile 
    bearophileHUGS at lycos.com
       
    Tue Nov 24 21:07:26 PST 2009
    
    
  
Daniel Keep:
> This is why interfaces cannot be implemented by structs in D: it would
> require structs to grow magical hidden fields, which is explicitly
> against the stated purpose of structs: plain old data.
In D2 if you define a struct inside a function it (in theory) grows an hidden field, see Nested Structs here:
http://www.digitalmars.com/d/2.0/struct.html
I have written in theory because in practice the size is the same :-) And the following code doesn't compile, static structs are not implemented yet it seems:
void foo() {
    static struct Inner {
        int x;
    }
}
Walter needs an automatic way to test code snippets inside the docs...
Bye,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list