comparison mercurial/linelog.py @ 51863:f4733654f144

typing: add `from __future__ import annotations` to most files Now that py36 is no longer supported, we can postpone annotation evaluation. This means that the quoting is usually optional (for things imported under the guard of `if typing.TYPE_CHECKING:` to avoid circular imports), and there's less overhead on startup[1]. There may be some missing here. I backed out 6000f5b25c9b (which removed the `from __future__ import ...` that was supporting py2), reverted the changes in `contrib/`, `doc/`, and `tests/`, and then ran: $ hg status -n --change . | \ xargs sed -i -e 's/from __future__ import .*$/from __future__ import annotations/' There were some minor tweaks needed when reviewing (mostly making the spacing around the import consistent, and `mercurial/testing/__init__.py` had a multiline import that wasn't fully rewritten. [1] https://docs.python.org/3/whatsnew/3.7.html#pep-563-postponed-evaluation-of-annotations
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 16 Sep 2024 15:36:44 +0200
parents 278af66e6595
children
comparison
equal deleted inserted replaced
51862:607e94e01851 51863:f4733654f144
16 about lines, including the revision that introduced them and the line 16 about lines, including the revision that introduced them and the line
17 number in the file at the introducing revision. When an insertion or 17 number in the file at the introducing revision. When an insertion or
18 deletion is performed on the file, a jump instruction is used to patch 18 deletion is performed on the file, a jump instruction is used to patch
19 in a new body of annotate information. 19 in a new body of annotate information.
20 """ 20 """
21
22 from __future__ import annotations
21 23
22 import abc 24 import abc
23 import struct 25 import struct
24 import typing 26 import typing
25 27