summaryrefslogtreecommitdiff
path: root/tests/features/_opaque_alias_lib.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/features/_opaque_alias_lib.zc')
-rw-r--r--tests/features/_opaque_alias_lib.zc13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/features/_opaque_alias_lib.zc b/tests/features/_opaque_alias_lib.zc
new file mode 100644
index 0000000..7ca4abc
--- /dev/null
+++ b/tests/features/_opaque_alias_lib.zc
@@ -0,0 +1,13 @@
+opaque alias Handle = int;
+
+fn new_handle(v: int) -> Handle {
+ return v; // Implicit cast int -> Handle (OK in module)
+}
+
+fn get_val(h: Handle) -> int {
+ return h; // Implicit cast Handle -> int (OK in module)
+}
+
+fn compare_handles(a: Handle, b: Handle) -> bool {
+ return a == b; // Strict equality (OK)
+}