Era Scarecrow: > I have some experimental code I'm writing, and it seems when i return a > structure it is either corrupted, or should be disallowed all together. A > postblit is suggested this(this), but since I'm returning a structure that > isn't tied to anything else it doesn't need to duplicate it.
If possible please show a complete minimal program that contains a main() that shows your problem. I have written this, but I don't see the problem: import std.stdio: writeln, write; enum int N = 100; struct Foo { int x; char[] arr; } Foo fun2() { Foo f1; f1.arr.length = N; f1.arr[] = 'x'; f1.x = 25; writeln(f1.arr.length); write(">"); foreach(i; 0 .. N) write(f1.arr[i]); writeln("<"); return f1; } void main() { Foo f2; f2 = fun2(); writeln(f2.x); writeln(f2.arr.length); write(">"); foreach(i; 0 .. N) write(f2.arr[i]); writeln("<"); } Bye, bearophile