Issue #14938: importlib.abc.SourceLoader.is_package() now takes the
module name into consideration when determining whether a module is a
package or not. This prevents importing a module's __init__ module
directly and having it considered a package, which can lead to
duplicate sub-modules.

Thanks to Ronan Lamy for reporting the bug.
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 35a99bf..9dc6ed1 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -351,8 +351,10 @@
     .. method:: is_package(self, fullname)
 
         Concrete implementation of :meth:`InspectLoader.is_package`. A module
-        is determined to be a package if its file path is a file named
-        ``__init__`` when the file extension is removed.
+        is determined to be a package if its file path (as provided by
+        :meth:`ExecutionLoader.get_filename`) is a file named
+        ``__init__`` when the file extension is removed **and** the module name
+        itself does not end in ``__init__``.
 
 
 .. class:: PyLoader