This is a warning, because such a statement may be ambiguous for readers.
While you and I can look at it and understand that it is equivalent
someValue = count; count = count + 1;
a less experienced programmer may misinterpret this as
someValue = count + 1;
Of course, this is the simplest example. A warning is much more deserved in a string like
someValue = (count++) * (--index) / (3 * ++j);
although I cannot say that I have ever seen such a line in production code :)
source share