Skip to content

Proposed warning: assert <generator_expression> #534

Description

@gschaffner

For example:

assert (result[i] == expected[i] for i in range(len(expected)))
assert (result[key] == expected[key] for key in result.keys() | expected.keys())

bugbear could warn and suggest adding all().

Note that even an empty generator expression is truey:

assert (False for _ in range(0))

so it's fine that bugbear doesn't statically know the length of the generator.

There are a couple of similar warnings:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions