mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 13:34:58 +08:00
Remove pathlib.PurePath.__eq__ (#10662)
Fixes #10661 Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
@@ -46,7 +46,6 @@ class PurePath(PathLike[str]):
|
||||
def __new__(cls, *args: StrPath) -> Self: ...
|
||||
|
||||
def __hash__(self) -> int: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def __fspath__(self) -> str: ...
|
||||
def __lt__(self, other: PurePath) -> bool: ...
|
||||
def __le__(self, other: PurePath) -> bool: ...
|
||||
|
||||
20
test_cases/stdlib/check_pathlib.py
Normal file
20
test_cases/stdlib/check_pathlib.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path, PureWindowsPath
|
||||
|
||||
if Path("asdf") == Path("asdf"):
|
||||
...
|
||||
|
||||
# https://github.com/python/typeshed/issues/10661
|
||||
# Provide a true positive error when comparing Path to str
|
||||
# mypy should report a comparison-overlap error with --strict-equality,
|
||||
# and pyright should report a reportUnnecessaryComparison error
|
||||
if Path("asdf") == "asdf": # type: ignore
|
||||
...
|
||||
|
||||
# Errors on comparison here are technically false positives. However, this comparison is a little
|
||||
# interesting: it can never hold true on Posix, but could hold true on Windows. We should experiment
|
||||
# with more accurate __new__, such that we only get an error for such comparisons on platforms
|
||||
# where they can never hold true.
|
||||
if PureWindowsPath("asdf") == Path("asdf"): # type: ignore
|
||||
...
|
||||
Reference in New Issue
Block a user