diff --git a/examples/01_simple_type_checking/04_complex_types.py b/examples/01_simple_type_checking/04_complex_types.py index 4f21cc6..f1d1215 100644 --- a/examples/01_simple_type_checking/04_complex_types.py +++ b/examples/01_simple_type_checking/04_complex_types.py @@ -33,3 +33,5 @@ a = foo[0] b = bar[0][1] c = bar[0][1][2] # invalid, not method __getitem__ on Meter c = bar[""] # invalid, wrong index type + +d = foo[1:2] diff --git a/midas/checker/builtins.midas b/midas/checker/builtins.midas index ba8f18b..6e89172 100644 --- a/midas/checker/builtins.midas +++ b/midas/checker/builtins.midas @@ -129,11 +129,11 @@ extend list[T] { def __len__: fn () -> int // def __iter__: fn () -> Iterator[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 - //__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: slice, /) -> None + def __delitem__: fn (key: slice, /) -> None // def __add__: fn[S <: T] (value: list[S], /) -> list[T] def __add__: fn (value: list[T], /) -> list[T] def __iadd__: fn (value: list[T], /) -> list[T]