Skip to content

The to_tuple type decorators don't correctly handle generics for item types. #152

@pipermerriam

Description

@pipermerriam

What was wrong?

When using to_tuple on a function which operates on a generic type, type safety is not preserved.

TVal = TypeVar('TVal')

@to_tuple
def typing_to_tuple_generic(values: Sequence[TVal]) -> Iterable[TVal]:
    yield from values

v_tuple_generic = typing_to_tuple_generic([1, 2, 3])
reveal_type(v_tuple_generic)  # error: Revealed type is 'builtins.tuple[TVal`-1]'

How can it be fixed?

???

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions