diff --git a/stdlib/os/__init__.pyi b/stdlib/os/__init__.pyi index eadba856b..090928f67 100644 --- a/stdlib/os/__init__.pyi +++ b/stdlib/os/__init__.pyi @@ -245,6 +245,13 @@ class _Environ(MutableMapping[AnyStr, AnyStr], Generic[AnyStr]): def __setitem__(self, key: AnyStr, value: AnyStr) -> None: ... def __iter__(self) -> Iterator[AnyStr]: ... def __len__(self) -> int: ... + if sys.version_info >= (3, 9): + # We use @overload instead of a Union for reasons similar to those given for + # overloading MutableMapping.update in stdlib/typing.pyi + @overload + def __ior__(self: Self, value: Mapping[AnyStr, AnyStr]) -> Self: ... + @overload + def __ior__(self: Self, value: Iterable[tuple[AnyStr, AnyStr]]) -> Self: ... environ: _Environ[str] if sys.platform != "win32":