Skip to content

Cleanup isinstance checks for integers to disallow booleans #30

Open
@pipermerriam

Description

@pipermerriam

What is wrong?

Lots of places in the codebase do assertions like isinstance(v, int) to check that something is an integer. Since python considers True and False to be integer types these checks won't disallow passing in a bool value.

How can it be fixed

Probably need to add a single utility and make use of it everywhere that we do these checks.

def assert_strictly_integer(v):
    assert isinstance(v, int) and not isinstance(v, bool)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions