(I'll ask to remove one limitation):
http://d.puremagic.com/issues/show_bug.cgi?id=9489
typeof(scoped!Foo(1))[10] foos; // Not initialized. foreach (i, ref f; foos) // f = new Foo(i * 10); // f = scoped!Foo(i * 10); f.x = i * 10;
What's the right/good way to initialize a scoped class instance? Currently this doesn't work:
import std.typecons; class Foo { int x; this(int x_) { initialize(x_); } void initialize(int x_) { this.x = x_; } } void main() { typeof(scoped!Foo(1))[10] foos; foreach (i, ref f; foos) f.initialize(i * 10); } Bye, bearophile