]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-128520: Subclass `abc.ABC` in `pathlib._abc` (#128745)
authorBarney Gale <barney.gale@gmail.com>
Sun, 16 Feb 2025 00:37:26 +0000 (00:37 +0000)
committerGitHub <noreply@github.com>
Sun, 16 Feb 2025 00:37:26 +0000 (00:37 +0000)
commita7d41a89474a07ce2b96943ea3f152e0dc757240
tree7d8e309c0498a90e4b350e5f1653c8a8b93d2f58
parent359c7dde3bb074e029686913f531457eb121d1dd
GH-128520: Subclass `abc.ABC` in `pathlib._abc` (#128745)

Convert `JoinablePath`, `ReadablePath` and `WritablePath` to real ABCs
derived from `abc.ABC`.

Make `JoinablePath.parser` abstract, rather than defaulting to `posixpath`.

Register `PurePath` and `Path` as virtual subclasses of the ABCs rather
than deriving. This avoids a hit to path object instantiation performance.

No change of behaviour in the public (non-abstract) classes.
Lib/pathlib/_abc.py
Lib/pathlib/_local.py
Lib/test/test_pathlib/test_pathlib.py
Lib/test/test_pathlib/test_pathlib_abc.py