From 3705dd3d8edef253d0c648f2d62752944c6184e0 Mon Sep 17 00:00:00 2001 From: Semyon Moroz Date: Thu, 8 Jan 2026 03:22:12 +0000 Subject: [PATCH] [random] Deprecate random parameter in shuffle function (#15226) Docs: https://docs.python.org/3.10/library/random.html#random.shuffle --- stdlib/random.pyi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stdlib/random.pyi b/stdlib/random.pyi index a797794b8..08619bf66 100644 --- a/stdlib/random.pyi +++ b/stdlib/random.pyi @@ -3,8 +3,8 @@ import sys from _typeshed import SupportsLenAndGetItem from collections.abc import Callable, Iterable, MutableSequence, Sequence, Set as AbstractSet from fractions import Fraction -from typing import Any, ClassVar, NoReturn, TypeVar -from typing_extensions import Self +from typing import Any, ClassVar, NoReturn, TypeVar, overload +from typing_extensions import Self, deprecated __all__ = [ "Random", @@ -67,6 +67,10 @@ class Random(_random.Random): if sys.version_info >= (3, 11): def shuffle(self, x: MutableSequence[Any]) -> None: ... else: + @overload + def shuffle(self, x: MutableSequence[Any]) -> None: ... + @overload + @deprecated("The `random` parameter is deprecated since Python 3.9; removed in Python 3.11.") def shuffle(self, x: MutableSequence[Any], random: Callable[[], float] | None = None) -> None: ... if sys.version_info >= (3, 11): def sample(self, population: Sequence[_T], k: int, *, counts: Iterable[int] | None = None) -> list[_T]: ...