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