Oh, I can't tell you what a pet peeve PITA the C precedence is. Ugh! I know it's against D philosophy to change the precedence w.r.t. C, but how about a compromise: give a warning or error for "x&2 > 0", with error message: "add
parenthesis around x&2 to clarify your intention."

  bool test(int x) { return x & 2 > 0; }

gives:

foo.d(1): Error: 2 > 0 must be parenthesized when next to operator &

Doh! You read my mind before I thought it :) I hadn't got around to bit fiddling in D yet.

Reply via email to