If a function does not return anything, it makes no sense to use its output. Specifically, passing it to another function, or assigning its "result" to a variable is probably a bug because such functions return nothing, which is probably not what was intended.
def foo(): l = [1, 2, 3] result = l.append(42) # Noncompliant, `append` mutates list l return result
def foo(): l = [1, 2, 3] l.append(42) return l