Skip to content

Crash on unpacking to member expression #7126

@ilevkivskyi

Description

@ilevkivskyi

This test case crashes on master:

[case testDeferralOfMemberNested]
from typing import Tuple

def f() -> None:
    c: C
    t: Tuple[str, Tuple[str, str]]
    x, (y, c.a) = t

class C:
    def __init__(self, a: str) -> None:
        self.a = a

This is likely a regression caused by #6860. This PR turns everything into Any in a deferred node, while checking the member lvalue triggers the deferral, causing then assert isinstance(reinferred_rvalue_type, TupleType) to trigger.

This equally affects both analysers.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions