On Thursday, 23 October 2014 at 18:15:26 UTC, Charles Hixson via
Digitalmars-d-learn wrote:
The code:
    void    go    (ulong    recNum)
{ assert (buf[0] == (fh.sizeof + recNo * buf.length) & 0x7f);
        if    (dirty)
yields the error message:
ells$ dmd test.d
test.d(78): Error: buf[0] == fh.sizeof + recNo * buf.length must be parenthesized when next to operator &

And I'll swear it looks parenthesized to me.

The expression is of the form `a == b & c`. You must parenthesize
either `a == b` or `b & c`, making it `(a == b) & c` or `a == (b
& c)`.
  • parser bug? Charles Hixson via Digitalmars-d-learn
    • Re: parser bug? ketmar via Digitalmars-d-learn
    • Re: parser bug? anonymous via Digitalmars-d-learn

Reply via email to