feat(checker): add slice overloads on lists

This commit is contained in:
2026-06-14 17:04:29 +02:00
parent bd0421b5d8
commit 635bf73531
2 changed files with 5 additions and 3 deletions

View File

@@ -33,3 +33,5 @@ a = foo[0]
b = bar[0][1] b = bar[0][1]
c = bar[0][1][2] # invalid, not method __getitem__ on Meter c = bar[0][1][2] # invalid, not method __getitem__ on Meter
c = bar[""] # invalid, wrong index type c = bar[""] # invalid, wrong index type
d = foo[1:2]

View File

@@ -129,11 +129,11 @@ extend list[T] {
def __len__: fn () -> int def __len__: fn () -> int
// def __iter__: fn () -> Iterator[T] // def __iter__: fn () -> Iterator[T]
def __getitem__: fn (i: int, /) -> T def __getitem__: fn (i: int, /) -> T
//__getitem__: fn (s: slice, /) -> list[T] def __getitem__: fn (s: slice, /) -> list[T]
def __setitem__: fn (key: int, value: T, /) -> None def __setitem__: fn (key: int, value: T, /) -> None
//__setitem__: fn (key: slice, value: list[T], /) -> None def __setitem__: fn (key: slice, value: list[T], /) -> None
def __delitem__: fn (key: int, /) -> None def __delitem__: fn (key: int, /) -> None
// def __delitem__: fn (key: slice, /) -> None def __delitem__: fn (key: slice, /) -> None
// def __add__: fn[S <: T] (value: list[S], /) -> list[T] // def __add__: fn[S <: T] (value: list[S], /) -> list[T]
def __add__: fn (value: list[T], /) -> list[T] def __add__: fn (value: list[T], /) -> list[T]
def __iadd__: fn (value: list[T], /) -> list[T] def __iadd__: fn (value: list[T], /) -> list[T]