https://issues.dlang.org/show_bug.cgi?id=13508
--- Comment #2 from [email protected] --- (In reply to hsteoh from comment #1) > Array vararg functions are not safe, because they take a slice of arguments > on the stack. Example problem: > ----- > class C { > int[] data; > this(int[] args...) { > data = args; // oops: this.data now points to the stack... > } > } > ----- That's what I thought, but: "If you mark "make" as explicitly safe, then it works." So there's a loophole somewhere here. Also related, I think it is a flaw that the very *signature* of something is unsafe. In particular, the "array vararg" signature is *also* the one chosen when you pass an array, which is perfectly defined and safe behavior... --
