From 586dc2d82cbec0207b92b37bd13c489687eb4098 Mon Sep 17 00:00:00 2001 From: daleselaji-dev Date: Sat, 3 Oct 2026 17:30:10 +0800 Subject: [PATCH] Fix native parser for quoted None types --- mypy/nativeparse.py | 2 ++ test-data/unit/check-newsemanal.test | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/mypy/nativeparse.py b/mypy/nativeparse.py index 622b199227bd2..59bc95cbe6261 100644 --- a/mypy/nativeparse.py +++ b/mypy/nativeparse.py @@ -269,6 +269,8 @@ def native_parse_type_string( data = ReadBuffer(ast_bytes) ret = read_type(state, data) assert isinstance(ret, ProperType) + if isinstance(ret, RawExpressionType) and expr_string == "None": + return UnboundType("None", line=line, column=column) return ret diff --git a/test-data/unit/check-newsemanal.test b/test-data/unit/check-newsemanal.test index f2dec80051831..7b4d4d3ed016d 100644 --- a/test-data/unit/check-newsemanal.test +++ b/test-data/unit/check-newsemanal.test @@ -2311,6 +2311,12 @@ reveal_type(x.x) # N: Revealed type is "builtins.int" C = NamedTuple('C', [('x', int)]) [builtins fixtures/tuple.pyi] +[case testNewAnalyzerCastNoneString] +from typing import Any, cast + +def f(x: Any) -> None: + return cast("None", x) + [case testNewAnalyzerApplicationForward1] # flags: --disable-error-code used-before-def from typing import Generic, TypeVar