crates/ty_python_semantic/resources/mdtest/subscript/assignment_diagnostics.md
listnumbers: list[int] = []
numbers[0] = "three" # error: [invalid-assignment]
dictconfig: dict[str, int] = {}
config["retries"] = "three" # error: [invalid-assignment]
listnumbers: list[int] = []
numbers["zero"] = 3 # error: [invalid-assignment]
dictconfig: dict[str, int] = {}
config[0] = 3 # error: [invalid-assignment]
TypedDictfrom typing import TypedDict
class Config(TypedDict):
retries: int
def _(config: Config) -> None:
config["retries"] = "three" # error: [invalid-assignment]
TypedDictfrom typing import TypedDict
class Config(TypedDict):
retries: int
def _(config: Config) -> None:
config[0] = 3 # error: [invalid-key]
TypedDictfrom typing import TypedDict
class Config(TypedDict):
retries: int
def _(config: Config) -> None:
config["Retries"] = 30.0 # error: [invalid-key]
__setitem__ methodclass ReadOnlyDict:
def __getitem__(self, key: str) -> int:
return 42
config = ReadOnlyDict()
config["retries"] = 3 # error: [invalid-assignment]
__setitem__ methoddef _(config: dict[str, int] | None) -> None:
config["retries"] = 3 # error: [invalid-assignment]
from typing import TypedDict
class Person(TypedDict):
name: str
phone_number: str
class Animal(TypedDict):
name: str
legs: int
def _(being: Person | Animal) -> None:
being["legs"] = 4 # error: [invalid-key]
from typing import TypedDict
class Person(TypedDict):
name: str
phone_number: str
class Animal(TypedDict):
name: str
legs: int
def _(being: Person | Animal) -> None:
# error: [invalid-key]
# error: [invalid-key]
being["nane"] = "unknown"
def _(config: dict[str, int] | dict[str, str]) -> None:
config["retries"] = 3 # error: [invalid-assignment]
def _(config: dict[str, int] | dict[str, str]) -> None:
# error: [invalid-assignment]
# error: [invalid-assignment]
config["retries"] = 3.0