fractions: remove _normalize, update for py312 (#10218)

This commit is contained in:
Shantanu
2023-05-25 02:21:19 -07:00
committed by GitHub
parent a4e33d4053
commit 854c453910
2 changed files with 8 additions and 4 deletions

View File

@@ -22,11 +22,9 @@ else:
class Fraction(Rational):
@overload
def __new__(
cls, numerator: int | Rational = 0, denominator: int | Rational | None = None, *, _normalize: bool = True
) -> Self: ...
def __new__(cls, numerator: int | Rational = 0, denominator: int | Rational | None = None) -> Self: ...
@overload
def __new__(cls, __value: float | Decimal | str, *, _normalize: bool = True) -> Self: ...
def __new__(cls, __value: float | Decimal | str) -> Self: ...
@classmethod
def from_float(cls, f: float) -> Self: ...
@classmethod
@@ -34,6 +32,8 @@ class Fraction(Rational):
def limit_denominator(self, max_denominator: int = 1000000) -> Fraction: ...
if sys.version_info >= (3, 8):
def as_integer_ratio(self) -> tuple[int, int]: ...
if sys.version_info >= (3, 12):
def is_integer(self) -> bool: ...
@property
def numerator(a) -> int: ...

View File

@@ -407,6 +407,10 @@ pickle.Unpickler.memo # undocumented implementation detail, has different type
re.Pattern.scanner # Undocumented and not useful. #6405
tempfile._TemporaryFileWrapper.[\w_]+ # Dynamically specified by __getattr__, and thus don't exist on the class
# Removed undocumented and often mistakenly used _normalize parameter that was removed in 3.12
# On 3.12, stubtest doesn't correctly combine the overload because parameter names mismatch
fractions.Fraction.__new__
# Details of runtime definition don't need to be in stubs
typing_extensions\._SpecialForm.*
typing_extensions\.TypeVar.*