I do not see a -W option in rustc today which would emit a similar warning. Running clippy-driver against this code is also silent. Would anybody be interested in adding a lint for this pattern?
I don't care for this idea at all. With this, every time I actually mean to do a bit-wise xor I'd need to add an #[allow(clippy::xor-as-pow)] or somesuch to silence the lint. I think this gets into territory of warning about things that are basic knowledge. Should we warn if someone uses * when they meant to use +. The operator ^ has a meaning in the language. That meaning is bit-wise xor. There is no way to tell if someone meant to use x.pow(y) when they wrote x^y. Warning on every use of x^y is just too much noise.
The proposal is not to add a warning for every use of ^. That would be absurd. Please read the GCC bug I linked. It is ONLY for the case where both the LHS and RHS of the ^ operator are plain integers.
There are a lot of good heuristics. I expect it's very rare to use decimal literals for both x and y for instance. Improving warnings for educational purposes seems like a noble goal, noisiness-wise I would want this warning to essentially never fire for real code.
To spare others the time searching, it appears that confusing_xor_and_pow was renamed to suspicious_xor_used_as_pow. Despite the naming, it is under the clippy::restriction group and not clippy::suspicious.