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.

Reply via email to