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
======================
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__ = [
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.""")
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
+++ /dev/null
-Change :meth:`pathlib.PurePath.__class_getitem__` to return
-:class:`types.GenericAlias`.
--- /dev/null
+Remove :meth:`~object.__class_getitem__` from :class:`pathlib.PurePath` as this class was not supposed to be generic.