File tree Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Original file line number Diff line number Diff line change 1- from collections .abc import Callable , Sequence
1+ from collections .abc import Callable , Iterator , Sequence
22from re import Pattern
33from types import ModuleType
44from typing import Any , TypeAlias , overload
@@ -36,6 +36,8 @@ class ResolverMatch:
3636 extra_kwargs : dict [str , Any ] | None = ...,
3737 ) -> None : ...
3838 def __getitem__ (self , index : int ) -> Any : ...
39+ # for tuple unpacking -- python/mypy#2220
40+ def __iter__ (self ) -> Iterator [Any ]: ...
3941
4042def get_resolver (urlconf : str | None = ...) -> URLResolver : ...
4143def get_ns_resolver (ns_pattern : str , resolver : URLResolver , converters : tuple ) -> URLResolver : ...
Original file line number Diff line number Diff line change @@ -284,3 +284,7 @@ django.test.selenium.SeleniumTestCase.__init_subclass__
284284
285285# Django incorrectly uses a signature of `(self, *args, **kwargs)` when it should be `(self)`.
286286django.forms.renderers.Jinja2DivFormRenderer.__init__
287+
288+ # mypy does not understand __getitem__ unpacking python/mypy#2220
289+ django.urls.ResolverMatch.__iter__
290+ django.urls.resolvers.ResolverMatch.__iter__
Original file line number Diff line number Diff line change 1+ from django .urls .resolvers import ResolverMatch
2+
3+
4+ def f (x : ResolverMatch ) -> None :
5+ _func , _args , _kwargs = x # does not error
6+ # would be nice but we can't really get this without tuple specialization
7+ # as `__getitem__` is implemented as `return (..., ...)[...]`
8+ # assert_type(_func, Callable)
You can’t perform that action at this time.
0 commit comments