From 5838f112be660a8fdfef731c74353fae82dd2c03 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Thu, 22 Jan 2026 13:01:42 +0000 Subject: Fix for #89 --- tests/generics/test_generic_ptr.zc | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/generics/test_generic_ptr.zc (limited to 'tests/generics') diff --git a/tests/generics/test_generic_ptr.zc b/tests/generics/test_generic_ptr.zc new file mode 100644 index 0000000..e08caba --- /dev/null +++ b/tests/generics/test_generic_ptr.zc @@ -0,0 +1,41 @@ +import "std/vec.zc" +import "std/result.zc" + +test "generic pointer instantiation" { + + // Vector of ints (internally int*) nested in Result + var v = Vec::new(); + v.push(10); + v.push(20); + v.push(30); + + var res = Result>::Ok(v); + + // Test unwrapping (signatures involving int*) + var unwrapped = res.unwrap_ref(); + assert(unwrapped.get(0) == 10); + assert(unwrapped.get(1) == 20); + assert(unwrapped.get(2) == 30); +} + +// I will have to work on this one, so TODO. +/* +test "generic pointer double nesting" { + // Double nesting - Result> + + var v_ptr = Vec::new(); + var a: int = 100; + var b: int = 200; + + v_ptr.push(&a); + v_ptr.push(&b); + + var res_ptr = Result>::Ok(v_ptr); + var unwrapped_ptr = res_ptr.unwrap(); + + assert(*unwrapped_ptr.get(0) == 100); + assert(*unwrapped_ptr.get(1) == 200); + + unwrapped_ptr.free(); +} +*/ -- cgit v1.2.3