diff --git a/mypy/nativeparse.py b/mypy/nativeparse.py index 622b199227bd..59bc95cbe626 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 f2dec8005183..7b4d4d3ed016 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