From addb6b87062c0c29791ee57cb6773e75636f624c Mon Sep 17 00:00:00 2001 From: Paper Moon Date: Mon, 29 Jun 2026 17:56:41 +0800 Subject: [PATCH] gh-152359: Update numbers.rst to reference numeric-hash docs (GH-152549) (cherry picked from commit 8ec36f14a552136d54072e3e5bb595ec1f4f0b5f) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paper Moon Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> --- Doc/library/numbers.rst | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/Doc/library/numbers.rst b/Doc/library/numbers.rst index 57b35017072c97e..0ed24b4e6c5225d 100644 --- a/Doc/library/numbers.rst +++ b/Doc/library/numbers.rst @@ -90,20 +90,7 @@ Notes for type implementers Implementers should be careful to make equal numbers equal and hash them to the same values. This may be subtle if there are two different -extensions of the real numbers. For example, :class:`fractions.Fraction` -implements :func:`hash` as follows:: - - def __hash__(self): - if self.denominator == 1: - # Get integers right. - return hash(self.numerator) - # Expensive check, but definitely correct. - if self == float(self): - return hash(float(self)) - else: - # Use tuple's hash to avoid a high collision rate on - # simple fractions. - return hash((self.numerator, self.denominator)) +extensions of the real numbers. See also :ref:`numeric-hash`. Adding More Numeric ABCs