Skip to content

Commit ec90046

Browse files
authored
Changelog updates for mypy 1.7 (#16446)
Address feedback and include recently cherry-picked PRs.
1 parent f05663d commit ec90046

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

CHANGELOG.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,14 @@ foo(name="x", age=1) # Ok
3333
foo(name=1) # Error
3434
```
3535

36-
Refer to [PEP 692](https://peps.python.org/pep-0692/) for the details.
36+
The definition of `foo` above is equivalent to the one below, with keyword-only arguments `name` and `age`:
37+
38+
```
39+
def foo(*, name: str, age: int) -> None:
40+
...
41+
```
42+
43+
Refer to [PEP 692](https://peps.python.org/pep-0692/) for more information. Note that unlike in the current version of the PEP, mypy always treats signatures with `Unpack[SomeTypedDict]` as equivalent to their expanded forms with explicit keyword arguments, and there aren't special type checking rules for TypedDict arguments.
3744

3845
This was contributed by Ivan Levkivskyi back in 2022 ([PR 13471](https://github.com/python/mypy/pull/13471)).
3946

@@ -45,6 +52,8 @@ TypeVarTuple was implemented by Jared Hance and Ivan Levkivskyi over several myp
4552

4653
Changes included in this release:
4754

55+
* Fix handling of tuple type context with unpacks (Ivan Levkivskyi, PR [16444](https://github.com/python/mypy/pull/16444))
56+
* Handle TypeVarTuples when checking overload constraints (robjhornby, PR [16428](https://github.com/python/mypy/pull/16428))
4857
* Enable Unpack/TypeVarTuple support (Ivan Levkivskyi, PR [16354](https://github.com/python/mypy/pull/16354))
4958
* Fix crash on unpack call special-casing (Ivan Levkivskyi, PR [16381](https://github.com/python/mypy/pull/16381))
5059
* Some final touches for variadic types support (Ivan Levkivskyi, PR [16334](https://github.com/python/mypy/pull/16334))
@@ -96,6 +105,14 @@ def f(t: tuple[int, int] | tuple[int, int, int]) -> None:
96105

97106
This feature was contributed by Ivan Levkivskyi (PR [16237](https://github.com/python/mypy/pull/16237)).
98107

108+
#### More Precise Tuple Lenghts (Experimental)
109+
110+
Mypy supports experimental, more precise checking of tuple type lengths through `--enable-incomplete-feature=PreciseTupleTypes`. Refer to the [documentation](https://mypy.readthedocs.io/en/latest/command_line.html#enabling-incomplete-experimental-features) for more information.
111+
112+
More generally, we are planning to use `--enable-incomplete-feature` to introduce experimental features that would benefit from community feedback.
113+
114+
This feature was contributed by Ivan Levkivskyi (PR [16237](https://github.com/python/mypy/pull/16237)).
115+
99116
#### Mypy Changelog
100117

101118
We now maintain a [changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) in the mypy Git repository. It mirrors the contents of [mypy release blog posts](https://mypy-lang.blogspot.com/). We will continue to also publish release blog posts. In the future, release blog posts will be created based on the changelog near a release date.
@@ -175,6 +192,7 @@ This was contributed by Shantanu (PR [16280](https://github.com/python/mypy/pull
175192

176193
#### Other Notable Changes and Fixes
177194

195+
* Propagate narrowed types to lambda expressions (Ivan Levkivskyi, PR [16407](https://github.com/python/mypy/pull/16407))
178196
* Avoid importing from `setuptools._distutils` (Shantanu, PR [16348](https://github.com/python/mypy/pull/16348))
179197
* Delete recursive aliases flags (Ivan Levkivskyi, PR [16346](https://github.com/python/mypy/pull/16346))
180198
* Properly use proper subtyping for callables (Ivan Levkivskyi, PR [16343](https://github.com/python/mypy/pull/16343))

0 commit comments

Comments
 (0)