From 0bd7b99fbf813415b9a0217eaa2a4e8f6f74e1ea Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sun, 25 Jan 2026 13:44:24 +0000 Subject: Fix for #111 --- tests/generics/test_generic_traits.zc | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/generics/test_generic_traits.zc (limited to 'tests') diff --git a/tests/generics/test_generic_traits.zc b/tests/generics/test_generic_traits.zc new file mode 100644 index 0000000..8458ba0 --- /dev/null +++ b/tests/generics/test_generic_traits.zc @@ -0,0 +1,42 @@ + +trait MyClone { + fn my_clone(self) -> int; +} + +struct GBox { + val: T; +} + +impl MyClone for GBox { + fn my_clone(self) -> int { + return 1; + } +} + +test "generic_trait_method_resolution" { + var b = GBox{ val: 10 }; + var res = b.my_clone(); + assert(res == 1, "Generic trait method call failed"); +} + +trait ValueProvider { + fn get_value(self) -> int; +} + +struct Wrapper { + inner: T; +} + +impl ValueProvider for Wrapper { + fn get_value(self) -> int { + return 42; + } +} + +test "generic_trait_resolution_complex" { + var w = Wrapper{ inner: true }; + assert(w.get_value() == 42, "Wrapper trait call failed"); + + var w2 = Wrapper{ inner: 100 }; + assert(w2.get_value() == 42, "Wrapper trait call failed"); +} -- cgit v1.2.3