Mercurial > hg
comparison mercurial/thirdparty/attr/setters.pyi @ 49643:e1c586b9a43c
attr: vendor 22.1.0
The previous version was 5 years old, and pytype 2022.06.30 started complaining
about various uses (e.g. seeing `mercurial.thirdparty.attr._make._CountingAttr`
instead of `bytearray`). Hopefully this helps. Additionally, this has official
python 3.11 support.
The `attrs` package is left out, because it is simply a bunch of *.pyi stubs and
`from attr.X import *`, and that's not how they've been used up to this point.
We'd probably need to customize those anyway to
`from mercurial.thirdparty.attr import *`.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 21 Nov 2022 15:04:42 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
49642:7e6f3c69c0fb | 49643:e1c586b9a43c |
---|---|
1 from typing import Any, NewType, NoReturn, TypeVar, cast | |
2 | |
3 from . import Attribute, _OnSetAttrType | |
4 | |
5 _T = TypeVar("_T") | |
6 | |
7 def frozen( | |
8 instance: Any, attribute: Attribute[Any], new_value: Any | |
9 ) -> NoReturn: ... | |
10 def pipe(*setters: _OnSetAttrType) -> _OnSetAttrType: ... | |
11 def validate(instance: Any, attribute: Attribute[_T], new_value: _T) -> _T: ... | |
12 | |
13 # convert is allowed to return Any, because they can be chained using pipe. | |
14 def convert( | |
15 instance: Any, attribute: Attribute[Any], new_value: Any | |
16 ) -> Any: ... | |
17 | |
18 _NoOpType = NewType("_NoOpType", object) | |
19 NO_OP: _NoOpType |