3 ms·
I don't know what languages you are thinking but firefox is mostly C and C++. There are no superfluous parenthesis warnings in GCC and MSVC.
by user5994461 9y ago
I don't know what languages you are thinking but firefox is mostly C and C++.
There are no superfluous parenthesis warnings in GCC and MSVC.
- kccqzy 9y agoIndeed. I just never really internalized all the operator precedence in C/C++ so I never write code like `a + b >> c`; I always add parenthesis when mixing arithmetic and bit operations.
- zoodlep 9y agoUhh, perhaps I'm not parsing your claim correctly, but that warning most certainly does exist in gcc. $ gcc -Wall test.c test.c: In function ‘main’: test.c:6:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses] if (a = b) { ^ Parentheses here would be superfluous, but would perhaps confirm you really intended to assign (i.e. used = instead of ==).
- asveikau 9y agoPutting parens around that example, while not strictly needed, also makes it harder to forget to add them if you later add an && or || to the conditional. So I am in favor.
- user5994461 9y agoYou realize that you have an assignment instead of a comparison? The warning here couldn't be more justified. In a decent language, this should be a hard error.
- steveklabnik 9y agoWell, Firefox does have more and more Rust now... fn main() { if (true) { } } results in warning: unnecessary parentheses around `if` condition --> <anon>:2:8 | 2 | if (true) { } | ^^^^^^ | = note: #[warn(unused_parens)] on by default