报告无意义的按位表达式。

这样的表达式包括对给定类型的最大值应用 & 运算符,对零以及移零应用 or 运算符。 之所以出现这样的表达式,可能是因为自动重构没有一直持续到完成,而且不太可能是出于原本的意图。

示例:

  // 警告: 运算毫无意义,可以替换为 `flags`
  // 0xFFFF_FFFF 是一个整数的最大值,并且这两个文字都被视为
  // 32 位整数文字。
  int bits = flags & 0xFFFF_FFFF;

  // 警告: 运算毫无意义,可以替换为 `bits`
  // 包含 0 的 OR 运算总是输出另一个操作数。
  int or = bits | 0x0;

  // 警告: 运算毫无意义,结果总是为 0
  int xor = or ^ or;