diff --git a/crates/red_knot_python_semantic/resources/mdtest/annotations/tuple.md b/crates/red_knot_python_semantic/resources/mdtest/annotations/tuple.md deleted file mode 100644 index 1903c01f82..0000000000 --- a/crates/red_knot_python_semantic/resources/mdtest/annotations/tuple.md +++ /dev/null @@ -1,15 +0,0 @@ -# Tuple - -## `Never` - -If a tuple type contains a `Never` element, then it is eagerly simplified to `Never` which means -that a tuple type containing `Never` is disjoint from any other tuple type. - -```py -from typing_extensions import Never - -def _(x: tuple[Never], y: tuple[int, Never], z: tuple[Never, int]): - reveal_type(x) # revealed: Never - reveal_type(y) # revealed: Never - reveal_type(z) # revealed: Never -``` diff --git a/crates/red_knot_python_semantic/resources/mdtest/type_properties/tuples_containing_never.md b/crates/red_knot_python_semantic/resources/mdtest/type_properties/tuples_containing_never.md index 13c36f0c38..b0a1ad3077 100644 --- a/crates/red_knot_python_semantic/resources/mdtest/type_properties/tuples_containing_never.md +++ b/crates/red_knot_python_semantic/resources/mdtest/type_properties/tuples_containing_never.md @@ -19,6 +19,11 @@ static_assert(is_equivalent_to(Never, tuple[int, Never])) static_assert(is_equivalent_to(Never, tuple[int, Never, str])) static_assert(is_equivalent_to(Never, tuple[int, tuple[str, Never]])) static_assert(is_equivalent_to(Never, tuple[tuple[str, Never], int])) + +def _(x: tuple[Never], y: tuple[int, Never], z: tuple[Never, int]): + reveal_type(x) # revealed: Never + reveal_type(y) # revealed: Never + reveal_type(z) # revealed: Never ``` The empty `tuple` is *not* equivalent to `Never`!