summaryrefslogtreecommitdiff
path: root/tests/micropython/viper_error.py
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2024-03-18 12:29:29 +1100
committerDamien George <damien@micropython.org>2024-03-19 10:31:36 +1100
commit3c445f66369a49ba2dfa7e008d0a93c71fb1b6d3 (patch)
tree76fd0e612740ea7099f790801b24078813bf5d60 /tests/micropython/viper_error.py
parentb50efbd0e319764dab3f49b64519cfea5f2c2bab (diff)
py/emitnative: Implement viper unary ops positive, negative and invert.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tests/micropython/viper_error.py')
-rw-r--r--tests/micropython/viper_error.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/micropython/viper_error.py b/tests/micropython/viper_error.py
index 80617af0c..6c5c3ba20 100644
--- a/tests/micropython/viper_error.py
+++ b/tests/micropython/viper_error.py
@@ -50,6 +50,9 @@ def f():
# incorrect return type
test("@micropython.viper\ndef f() -> int: return []")
+# can't do unary op of incompatible type
+test("@micropython.viper\ndef f(x:ptr): -x")
+
# can't do binary op between incompatible types
test("@micropython.viper\ndef f(): 1 + []")
test("@micropython.viper\ndef f(x:int, y:uint): x < y")
@@ -69,9 +72,7 @@ test("@micropython.viper\ndef f(x:ptr32): x[x] = None")
test("@micropython.viper\ndef f(): raise 1")
# unary ops not implemented
-test("@micropython.viper\ndef f(x:int): +x")
-test("@micropython.viper\ndef f(x:int): -x")
-test("@micropython.viper\ndef f(x:int): ~x")
+test("@micropython.viper\ndef f(x:int): not x")
# binary op not implemented
test("@micropython.viper\ndef f(x:uint, y:uint): res = x // y")