1- from collections .abc import Callable , Iterable , Iterator , MutableMapping , Sequence
1+ from collections .abc import Callable , Iterable , Iterator , MutableMapping , MutableSequence , Sequence
22from typing import Any , Protocol , SupportsIndex , TypeVar , overload , type_check_only
33from typing_extensions import Self
44
@@ -25,12 +25,13 @@ class BaseContainer(Sequence[_T]):
2525 def __hash__ (self ) -> int : ...
2626 # Same as list.sort, the extra sort_function kwarg errors in Python 3
2727 def sort (self , * , key : Callable [[_T ], Any ] | None = None , reverse : bool = False ) -> None : ...
28+ def reverse (self ) -> None : ...
2829 @overload
2930 def __getitem__ (self , key : SupportsIndex ) -> _T : ...
3031 @overload
3132 def __getitem__ (self , key : slice ) -> list [_T ]: ...
3233
33- class RepeatedScalarFieldContainer (BaseContainer [_ScalarV ]):
34+ class RepeatedScalarFieldContainer (BaseContainer [_ScalarV ], MutableSequence [ _ScalarV ] ):
3435 __slots__ = ["_type_checker" ]
3536 def __init__ (self , message_listener : MessageListener , type_checker : _ValueChecker [_ScalarV ]) -> None : ...
3637 def append (self , value : _ScalarV ) -> None : ...
@@ -46,7 +47,7 @@ class RepeatedScalarFieldContainer(BaseContainer[_ScalarV]):
4647 def __delitem__ (self , key : int | slice ) -> None : ...
4748 def __eq__ (self , other : object ) -> bool : ...
4849
49- class RepeatedCompositeFieldContainer (BaseContainer [_MessageV ]):
50+ class RepeatedCompositeFieldContainer (BaseContainer [_MessageV ], MutableSequence [ _MessageV ] ):
5051 __slots__ = ["_message_descriptor" ]
5152 def __init__ (self , message_listener : MessageListener , message_descriptor : Descriptor ) -> None : ...
5253 def add (self , ** kwargs : Any ) -> _MessageV : ...
0 commit comments