summaryrefslogtreecommitdiff
path: root/tests/generics
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-19 14:14:35 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-19 14:14:35 +0000
commit59a6975e2f62cb8ebc4893d021f1f11cf4389385 (patch)
tree1c55b4b5050a95e5e0d2f63ed1df0cfbdb30eefa /tests/generics
parentdca83c5f7cd410c36dae609e0a67461bf067161c (diff)
Fix for #75
Diffstat (limited to 'tests/generics')
-rw-r--r--tests/generics/test_generic_operators.zc23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/generics/test_generic_operators.zc b/tests/generics/test_generic_operators.zc
new file mode 100644
index 0000000..8578d50
--- /dev/null
+++ b/tests/generics/test_generic_operators.zc
@@ -0,0 +1,23 @@
+
+struct Foo<T> {
+ value: T;
+}
+
+impl Foo<T> {
+ fn eq(self, other: Foo<T>) -> bool {
+ return self.value == other.value;
+ }
+ fn neq(self, other: Foo<T>) -> bool {
+ return !(self == other);
+ }
+}
+
+test "generic neq" {
+ var f1 = Foo<i32>{value: 10};
+ var f2 = Foo<i32>{value: 20};
+ var f3 = Foo<i32>{value: 10};
+
+ assert(f1 != f2, "f1 should not equal f2");
+ assert(f1 == f3, "f1 should equal f3");
+ assert(!(f1 != f3), "f1 != f3 should be false");
+}