summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2022-02-03 09:25:10 (GMT)
committerGitHub <noreply@github.com>2022-02-03 09:25:10 (GMT)
commit7ffe7ba30fc051014977c6f393c51e57e71a6648 (patch)
tree0f1e476fdbac481a29eab473b2531a21e8306a9b
parent0cbdd2131195b0d313762968f604e80a3e65ca9f (diff)
downloadcpython-7ffe7ba30fc051014977c6f393c51e57e71a6648.zip
cpython-7ffe7ba30fc051014977c6f393c51e57e71a6648.tar.gz
cpython-7ffe7ba30fc051014977c6f393c51e57e71a6648.tar.bz2
bpo-46483: Remove `__class_getitem__` from `pathlib.PurePath` (GH-30848)
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
-rw-r--r--Doc/whatsnew/3.11.rst3
-rw-r--r--Lib/pathlib.py3
-rw-r--r--Lib/test/test_pathlib.py9
-rw-r--r--Misc/NEWS.d/next/Library/2022-01-23-11-17-48.bpo-46483.j7qwWb.rst2
-rw-r--r--Misc/NEWS.d/next/Library/2022-01-24-13-00-09.bpo-46483.9XnmKp.rst1
5 files changed, 4 insertions, 14 deletions
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 33f39e5..acb21d3 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -545,6 +545,9 @@ Removed
Python 3.4 but has been broken since Python 3.7.
(Contributed by Inada Naoki in :issue:`23882`.)
+* Remove ``__class_getitem__`` method from :class:`pathlib.PurePath`,
+ because it was not used and added by mistake in previous versions.
+ (Contributed by Nikita Sobolev in :issue:`46483`.)
Porting to Python 3.11
======================
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 920e1f4..7f4210e 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -12,7 +12,6 @@ from errno import ENOENT, ENOTDIR, EBADF, ELOOP
from operator import attrgetter
from stat import S_ISDIR, S_ISLNK, S_ISREG, S_ISSOCK, S_ISBLK, S_ISCHR, S_ISFIFO
from urllib.parse import quote_from_bytes as urlquote_from_bytes
-from types import GenericAlias
__all__ = [
@@ -604,8 +603,6 @@ class PurePath(object):
return NotImplemented
return self._cparts >= other._cparts
- __class_getitem__ = classmethod(GenericAlias)
-
drive = property(attrgetter('_drv'),
doc="""The drive prefix (letter or UNC path), if any.""")
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index 5e46b4f..ec2baca 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -2450,15 +2450,6 @@ class _BasePathTest(object):
def test_complex_symlinks_relative_dot_dot(self):
self._check_complex_symlinks(os.path.join('dirA', '..'))
- def test_class_getitem(self):
- from types import GenericAlias
-
- alias = self.cls[str]
- self.assertIsInstance(alias, GenericAlias)
- self.assertIs(alias.__origin__, self.cls)
- self.assertEqual(alias.__args__, (str,))
- self.assertEqual(alias.__parameters__, ())
-
class PathTest(_BasePathTest, unittest.TestCase):
cls = pathlib.Path
diff --git a/Misc/NEWS.d/next/Library/2022-01-23-11-17-48.bpo-46483.j7qwWb.rst b/Misc/NEWS.d/next/Library/2022-01-23-11-17-48.bpo-46483.j7qwWb.rst
deleted file mode 100644
index a84503d..0000000
--- a/Misc/NEWS.d/next/Library/2022-01-23-11-17-48.bpo-46483.j7qwWb.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Change :meth:`pathlib.PurePath.__class_getitem__` to return
-:class:`types.GenericAlias`.
diff --git a/Misc/NEWS.d/next/Library/2022-01-24-13-00-09.bpo-46483.9XnmKp.rst b/Misc/NEWS.d/next/Library/2022-01-24-13-00-09.bpo-46483.9XnmKp.rst
new file mode 100644
index 0000000..89cc818
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-01-24-13-00-09.bpo-46483.9XnmKp.rst
@@ -0,0 +1 @@
+Remove :meth:`~object.__class_getitem__` from :class:`pathlib.PurePath` as this class was not supposed to be generic.