What it does
Checks that the return values of functions marked
must_use are used.
Why this is bad
This lint will only catch uses where the function has no reason to be called other than to use its output.
...should be written as...
entity.flags = bit32.bor(entity.flags, Flags.Invincible)
bit32.bor only produces a new value, it does not mutate anything.
The output is deemed "unused" if the function call is its own statement.