diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 3ddd280..c3b6385 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -731,8 +731,11 @@
 
    Return an integer object constructed from a number or string *x*, or return
    ``0`` if no arguments are given.  If *x* is a number, return
-   :meth:`x.__int__() <object.__int__>`.  For floating point numbers, this
-   truncates towards zero.
+   :meth:`x.__int__() <object.__int__>`. If *x* defines
+   :meth:`x.__trunc__() <object.__trunc__>` but not
+   :meth:`x.__int__() <object.__int__>`, then return
+   if :meth:`x.__trunc__() <object.__trunc__>`.  For floating point numbers,
+   this truncates towards zero.
 
    If *x* is not a number or if *base* is given, then *x* must be a string,
    :class:`bytes`, or :class:`bytearray` instance representing an :ref:`integer
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index 55eb41b..33aec57 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -203,7 +203,7 @@
 
    Return the :class:`~numbers.Real` value *x* truncated to an
    :class:`~numbers.Integral` (usually an integer). Delegates to
-   ``x.__trunc__()``.
+   :meth:`x.__trunc__() <object.__trunc__>`.
 
 
 Note that :func:`frexp` and :func:`modf` have a different call/return pattern
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index 8b127a0..26ad7b8 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -2377,6 +2377,15 @@
    of the appropriate type.
 
 
+.. method:: object.__trunc__(self)
+
+   Called to implement :meth:`math.trunc`.  Should return the value of the
+   object truncated to a :class:`numbers.Integral` (typically an
+   :class:`int`).  If a class defines :meth:`__trunc__` but not
+   :meth:`__int__`, then :meth:`__trunc__` is called to implement the
+   built-in function :func:`int`.
+
+
 .. method:: object.__index__(self)
 
    Called to implement :func:`operator.index`, and whenever Python needs to
