Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions mypy/checkexpr.py
Original file line number Diff line number Diff line change
Expand Up @@ -4271,6 +4271,9 @@ def visit_assert_type_expr(self, expr: AssertTypeExpr) -> Type:
allow_none_return=True,
always_allow_any=True,
)
if self.chk.current_node_deferred:
return source_type

target_type = expr.type
proper_source_type = get_proper_type(source_type)
if (
Expand Down
17 changes: 17 additions & 0 deletions test-data/unit/check-expressions.test
Original file line number Diff line number Diff line change
Expand Up @@ -1045,6 +1045,23 @@ def reduce_it(s: Scalar) -> Scalar:
assert_type(reduce_it(True), Scalar)
[builtins fixtures/tuple.pyi]

[case testAssertTypeWithDeferredNodes]
from typing import Callable, TypeVar, assert_type

T = TypeVar("T")

def dec(f: Callable[[], T]) -> Callable[[], T]:
return f

def method1() -> None:
some_enum = _inner_method1()
assert_type(some_enum, int)

@dec
def _inner_method1() -> int:
return 1
Comment thread
sobolevn marked this conversation as resolved.
Outdated
[builtins fixtures/tuple.pyi]

-- None return type
-- ----------------

Expand Down