@@ -2,7 +2,7 @@ import os
2
2
import sys
3
3
from _typeshed import BytesPath , StrOrBytesPath , StrPath , SupportsRead , SupportsWrite
4
4
from collections .abc import Callable , Iterable , Sequence
5
- from typing import Any , AnyStr , NamedTuple , TypeVar , overload
5
+ from typing import Any , AnyStr , NamedTuple , Protocol , TypeVar , overload
6
6
from typing_extensions import TypeAlias
7
7
8
8
__all__ = [
@@ -84,13 +84,22 @@ else:
84
84
85
85
_OnErrorCallback : TypeAlias = Callable [[Callable [..., Any ], Any , Any ], object ]
86
86
87
- if sys .version_info >= (3 , 11 ):
88
- def rmtree (
89
- path : StrOrBytesPath , ignore_errors : bool = ..., onerror : _OnErrorCallback | None = ..., * , dir_fd : int | None = ...
90
- ) -> None : ...
91
-
92
- else :
93
- def rmtree (path : StrOrBytesPath , ignore_errors : bool = ..., onerror : _OnErrorCallback | None = ...) -> None : ...
87
+ class _RmtreeType (Protocol ):
88
+ avoids_symlink_attacks : bool
89
+ if sys .version_info >= (3 , 11 ):
90
+ def __call__ (
91
+ self ,
92
+ path : StrOrBytesPath ,
93
+ ignore_errors : bool = ...,
94
+ onerror : _OnErrorCallback | None = ...,
95
+ * ,
96
+ dir_fd : int | None = ...,
97
+ ) -> None : ...
98
+
99
+ else :
100
+ def __call__ (self , path : StrOrBytesPath , ignore_errors : bool = ..., onerror : _OnErrorCallback | None = ...) -> None : ...
101
+
102
+ rmtree : _RmtreeType
94
103
95
104
_CopyFn : TypeAlias = Callable [[str , str ], object ] | Callable [[StrPath , StrPath ], object ]
96
105
0 commit comments