From 45ed845701d36bea640b97524a409806da97151a Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Sun, 8 Mar 2026 14:08:21 +0000 Subject: [PATCH] Handle hex bigint literals in nativeparse --- mypy/nativeparse.py | 2 +- test-data/unit/native-parser.test | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mypy/nativeparse.py b/mypy/nativeparse.py index 4f7f0636b3cd..5a6566c8a266 100644 --- a/mypy/nativeparse.py +++ b/mypy/nativeparse.py @@ -1582,7 +1582,7 @@ def read_expression(state: State, data: ReadBuffer) -> Expression: return expr elif tag == nodes.BIG_INT_EXPR: strval = read_str(data) - ie = IntExpr(int(strval)) + ie = IntExpr(int(strval, base=0)) read_loc(data, ie) expect_end_tag(data) return ie diff --git a/test-data/unit/native-parser.test b/test-data/unit/native-parser.test index 8d7d53485e84..f2cdc74b444c 100644 --- a/test-data/unit/native-parser.test +++ b/test-data/unit/native-parser.test @@ -40,7 +40,7 @@ MypyFile:1( StrExpr(z)))) [case testIntExpr] -(0, 1, 2, 203, 5345, 50123, 1234567890, 9982374892739487239847897928374897298374) +(0, 1, 2, 203, 5345, 50123, 1234567890, 9982374892739487239847897928374897298374, 0x1950A86A20F9469CFC6C) [out] MypyFile:1( ExpressionStmt:1( @@ -52,7 +52,8 @@ MypyFile:1( IntExpr(5345) IntExpr(50123) IntExpr(1234567890) - IntExpr(9982374892739487239847897928374897298374)))) + IntExpr(9982374892739487239847897928374897298374) + IntExpr(119547037146038801333356)))) [case testAssignmentStmt] x = 1