parser bug?
    anonymous via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Oct 23 11:40:59 PDT 2014
    
    
  
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)`.
    
    
More information about the Digitalmars-d-learn
mailing list