On Wednesday, 9 April 2014 at 18:53:20 UTC, Brian Schott wrote:
On Wednesday, 9 April 2014 at 18:47:41 UTC, Benjamin Thaut
wrote:
Thats easy to answer. What would it do if you replace the
"struct" with "class" and the "void" with nothing?
This thread is giving me some fun ideas for static analysis
rules.
As of a minute ago D-Scanner will warn about the following code:
class TestClass
{
this() { i = 10; }
this(int i = 20) { this.i = i; }
int i;
}
struct Bogus
{
this(int x = 0) {}
}
test.d(1:7)[warn]: This class has a zero-argument constructor as
well as a constructor with one default argument. This can be
confusing
test.d(10:2)[warn]: This struct constructor can never be called
with its default argument.