|  | 
| 20 | 20 |     grp = None | 
| 21 | 21 | 
 | 
| 22 | 22 | from pathlib._os import LocalCopyReader, LocalCopyWriter, PathInfo, DirEntryInfo | 
| 23 |  | -from pathlib._abc import JoinablePath, ReadablePath, WritablePath | 
| 24 | 23 | 
 | 
| 25 | 24 | 
 | 
| 26 | 25 | __all__ = [ | 
| @@ -65,7 +64,7 @@ def __repr__(self): | 
| 65 | 64 |         return "<{}.parents>".format(type(self._path).__name__) | 
| 66 | 65 | 
 | 
| 67 | 66 | 
 | 
| 68 |  | -class PurePath(JoinablePath): | 
|  | 67 | +class PurePath: | 
| 69 | 68 |     """Base class for manipulating paths without I/O. | 
| 70 | 69 | 
 | 
| 71 | 70 |     PurePath represents a filesystem path and offers operations which | 
| @@ -587,7 +586,6 @@ def match(self, path_pattern, *, case_sensitive=None): | 
| 587 | 586 | # Subclassing abc.ABC makes isinstance() checks slower, | 
| 588 | 587 | # which in turn makes path construction slower. Register instead! | 
| 589 | 588 | os.PathLike.register(PurePath) | 
| 590 |  | -JoinablePath.register(PurePath) | 
| 591 | 589 | 
 | 
| 592 | 590 | 
 | 
| 593 | 591 | class PurePosixPath(PurePath): | 
| @@ -1233,11 +1231,6 @@ def from_uri(cls, uri): | 
| 1233 | 1231 |             raise ValueError(f"URI is not absolute: {uri!r}") | 
| 1234 | 1232 |         return path | 
| 1235 | 1233 | 
 | 
| 1236 |  | -# Subclassing abc.ABC makes isinstance() checks slower, | 
| 1237 |  | -# which in turn makes path construction slower. Register instead! | 
| 1238 |  | -ReadablePath.register(Path) | 
| 1239 |  | -WritablePath.register(Path) | 
| 1240 |  | - | 
| 1241 | 1234 | 
 | 
| 1242 | 1235 | class PosixPath(Path, PurePosixPath): | 
| 1243 | 1236 |     """Path subclass for non-Windows systems. | 
|  | 
0 commit comments