We've been bitten by the following bug recently in C code:

    uint flag = 0x1;
    uint flags;

    if (flags | flag) {
        dout.writefln("oops");
    }

The programmer intended &.

It is (almost?) always an error to use | in a conditional. At least the conditional in the above code is always true; so dmd could generate a warning. (Yes, I used -w.)

Ali

Reply via email to