diff --git a/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi b/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi index 2446244df46f3..6ea23dc00b196 100644 --- a/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +++ b/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi @@ -106,6 +106,7 @@ class i64: def __neg__(self) -> i64: ... def __invert__(self) -> i64: ... def __pos__(self) -> i64: ... + def __abs__(self) -> i64: ... def __lt__(self, x: i64) -> bool: ... def __le__(self, x: i64) -> bool: ... def __ge__(self, x: i64) -> bool: ... @@ -143,6 +144,7 @@ class i32: def __neg__(self) -> i32: ... def __invert__(self) -> i32: ... def __pos__(self) -> i32: ... + def __abs__(self) -> i32: ... def __lt__(self, x: i32) -> bool: ... def __le__(self, x: i32) -> bool: ... def __ge__(self, x: i32) -> bool: ... @@ -180,6 +182,7 @@ class i16: def __neg__(self) -> i16: ... def __invert__(self) -> i16: ... def __pos__(self) -> i16: ... + def __abs__(self) -> i16: ... def __lt__(self, x: i16) -> bool: ... def __le__(self, x: i16) -> bool: ... def __ge__(self, x: i16) -> bool: ... @@ -217,6 +220,7 @@ class u8: def __neg__(self) -> u8: ... def __invert__(self) -> u8: ... def __pos__(self) -> u8: ... + def __abs__(self) -> u8: ... def __lt__(self, x: u8) -> bool: ... def __le__(self, x: u8) -> bool: ... def __ge__(self, x: u8) -> bool: ... diff --git a/mypyc/test-data/run-i16.test b/mypyc/test-data/run-i16.test index 5dd766871ebb1..6ce77ba836122 100644 --- a/mypyc/test-data/run-i16.test +++ b/mypyc/test-data/run-i16.test @@ -121,6 +121,9 @@ def test_simple_arithmetic_ops() -> None: assert -two == -2 assert -neg_one == 1 assert -zero == 0 + assert abs(one) == 1 + assert abs(neg_one) == 1 + assert abs(zero) == 0 def test_bitwise_ops() -> None: x: i16 = 13855 + int() diff --git a/mypyc/test-data/run-i32.test b/mypyc/test-data/run-i32.test index 857279fac8172..a094889e5c464 100644 --- a/mypyc/test-data/run-i32.test +++ b/mypyc/test-data/run-i32.test @@ -121,6 +121,9 @@ def test_simple_arithmetic_ops() -> None: assert -two == -2 assert -neg_one == 1 assert -zero == 0 + assert abs(one) == 1 + assert abs(neg_one) == 1 + assert abs(zero) == 0 def test_bitwise_ops() -> None: x: i32 = 1920687484 + int() diff --git a/mypyc/test-data/run-i64.test b/mypyc/test-data/run-i64.test index b548e4ad0472a..3150be0aefb5a 100644 --- a/mypyc/test-data/run-i64.test +++ b/mypyc/test-data/run-i64.test @@ -209,6 +209,9 @@ def test_simple_arithmetic_ops() -> None: assert -two == -2 assert -neg_one == 1 assert -zero == 0 + assert abs(one) == 1 + assert abs(neg_one) == 1 + assert abs(zero) == 0 def test_bitwise_ops() -> None: x: i64 = 7997307308812232241 + int() diff --git a/mypyc/test-data/run-u8.test b/mypyc/test-data/run-u8.test index 05844de8ecff7..a48e338705527 100644 --- a/mypyc/test-data/run-u8.test +++ b/mypyc/test-data/run-u8.test @@ -82,6 +82,9 @@ def test_simple_arithmetic_ops() -> None: assert -two == 254 assert -neg_one == 1 assert -zero == 0 + assert abs(one) == 1 + assert abs(neg_one) == 255 + assert abs(zero) == 0 def test_bitwise_ops() -> None: x: u8 = 184 + int() diff --git a/test-data/unit/lib-stub/mypy_extensions.pyi b/test-data/unit/lib-stub/mypy_extensions.pyi index 4295c33f81ade..43979784e7d05 100644 --- a/test-data/unit/lib-stub/mypy_extensions.pyi +++ b/test-data/unit/lib-stub/mypy_extensions.pyi @@ -77,6 +77,7 @@ class u8: def __neg__(self) -> u8: ... def __invert__(self) -> u8: ... def __pos__(self) -> u8: ... + def __abs__(self) -> u8: ... def __lt__(self, x: u8) -> bool: ... def __le__(self, x: u8) -> bool: ... def __ge__(self, x: u8) -> bool: ... @@ -107,6 +108,7 @@ class i16: def __neg__(self) -> i16: ... def __invert__(self) -> i16: ... def __pos__(self) -> i16: ... + def __abs__(self) -> i16: ... def __lt__(self, x: i16) -> bool: ... def __le__(self, x: i16) -> bool: ... def __ge__(self, x: i16) -> bool: ... @@ -137,6 +139,7 @@ class i32: def __neg__(self) -> i32: ... def __invert__(self) -> i32: ... def __pos__(self) -> i32: ... + def __abs__(self) -> i32: ... def __lt__(self, x: i32) -> bool: ... def __le__(self, x: i32) -> bool: ... def __ge__(self, x: i32) -> bool: ... @@ -167,6 +170,7 @@ class i64: def __neg__(self) -> i64: ... def __invert__(self) -> i64: ... def __pos__(self) -> i64: ... + def __abs__(self) -> i64: ... def __lt__(self, x: i64) -> bool: ... def __le__(self, x: i64) -> bool: ... def __ge__(self, x: i64) -> bool: ...