Skip to content

Allow unary + in integer Literals #1551

Closed
@dmoisset

Description

@dmoisset

Currently a declaration sign: Literal[-1, +1] is not allowed, because the spec forbids expressions as literal values. There is an explicit exception for unary minus, but no corresponding exception for unary plus.

Even if the issue can be easily worked around (by declaring something like sign: Literal[-1, 1]), the original version is more clear, because in some domains explicitly specifying the sign of positive numbers is more natural. Allowing a unary plus wouldn't just be more consistent, but would enhance clarity, and the impact on other users and on type-checker implementers would be quite small.

PR with proposed change: #1550

Note: discussed on https://discuss.python.org/t/signed-values-in-literal-type/39919

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic: featureDiscussions about new features for Python's type annotations

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions