Issue #21818: Fixed references to classes that have names matching with module
names.
diff --git a/Doc/library/stringio.rst b/Doc/library/stringio.rst
index 612ddcd..ca3687b 100644
--- a/Doc/library/stringio.rst
+++ b/Doc/library/stringio.rst
@@ -6,7 +6,7 @@
    :synopsis: Read and write strings as if they were files.
 
 
-This module implements a file-like class, :class:`StringIO`, that reads and
+This module implements a file-like class, :class:`~StringIO.StringIO`, that reads and
 writes a string buffer (also known as *memory files*).  See the description of
 file objects for operations (section :ref:`bltin-file-objects`). (For
 standard strings, see :class:`str` and :class:`unicode`.)
@@ -14,23 +14,23 @@
 
 .. class:: StringIO([buffer])
 
-   When a :class:`StringIO` object is created, it can be initialized to an existing
+   When a :class:`~StringIO.StringIO` object is created, it can be initialized to an existing
    string by passing the string to the constructor. If no string is given, the
-   :class:`StringIO` will start empty. In both cases, the initial file position
+   :class:`~StringIO.StringIO` will start empty. In both cases, the initial file position
    starts at zero.
 
-   The :class:`StringIO` object can accept either Unicode or 8-bit strings, but
+   The :class:`~StringIO.StringIO` object can accept either Unicode or 8-bit strings, but
    mixing the two may take some care.  If both are used, 8-bit strings that cannot
    be interpreted as 7-bit ASCII (that use the 8th bit) will cause a
    :exc:`UnicodeError` to be raised when :meth:`getvalue` is called.
 
-The following methods of :class:`StringIO` objects require special mention:
+The following methods of :class:`~StringIO.StringIO` objects require special mention:
 
 
 .. method:: StringIO.getvalue()
 
    Retrieve the entire contents of the "file" at any time before the
-   :class:`StringIO` object's :meth:`close` method is called.  See the note above
+   :class:`~StringIO.StringIO` object's :meth:`close` method is called.  See the note above
    for information about mixing Unicode and 8-bit strings; such mixing can cause
    this method to raise :exc:`UnicodeError`.
 
@@ -38,7 +38,7 @@
 .. method:: StringIO.close()
 
    Free the memory buffer.  Attempting to do further operations with a closed
-   :class:`StringIO` object will raise a :exc:`ValueError`.
+   :class:`~StringIO.StringIO` object will raise a :exc:`ValueError`.
 
 Example usage::