summaryrefslogtreecommitdiff
path: root/tests/memory/test_unsafe.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/memory/test_unsafe.zc')
-rw-r--r--tests/memory/test_unsafe.zc15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/memory/test_unsafe.zc b/tests/memory/test_unsafe.zc
index fe1150f..6114d6c 100644
--- a/tests/memory/test_unsafe.zc
+++ b/tests/memory/test_unsafe.zc
@@ -54,3 +54,18 @@ test "test_static_local" {
assert b == 2;
assert c == 3;
}
+
+struct CastFoo {
+ val: int;
+}
+
+fn test_cast_precedence_helper(ptr: void*) -> int {
+ return ((CastFoo*)ptr)->val;
+}
+
+test "test_cast_precedence" {
+ let f = CastFoo{val: 42};
+ let ptr = (void*)&f;
+ let val = test_cast_precedence_helper(ptr);
+ assert(val == 42, "Cast precedence failed");
+}