summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-24 01:39:38 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-24 01:39:52 +0000
commit3df7cada4c3d050a01980afffdbfc0fc60be0fb5 (patch)
treeaa1dd603039d284f58b62c89bb662fd74c19deda /tests
parent769d8ff1a1fd898e1a8c8b299f7e7fa444f32528 (diff)
Fix for #106
Diffstat (limited to 'tests')
-rw-r--r--tests/generics/test_sizeof_template.zc40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/generics/test_sizeof_template.zc b/tests/generics/test_sizeof_template.zc
new file mode 100644
index 0000000..8390512
--- /dev/null
+++ b/tests/generics/test_sizeof_template.zc
@@ -0,0 +1,40 @@
+struct Struct<T> {
+ val: T;
+}
+
+fn hello<T>() {
+ var s = sizeof(Struct<T>);
+ println "size: {s}";
+}
+
+test "sizeof template" {
+ var _first: Struct<i32>;
+ hello<i32>();
+ var _second: Struct<f64>;
+ hello<f64>();
+}
+
+struct Mixed<T> {
+ val: T;
+ flag: u8;
+}
+
+test "sizeof mixed" {
+ var s1 = sizeof(Mixed<i32>);
+ println "i32 mixed: {s1}";
+ var s2 = sizeof(Mixed<f64>);
+ println "f64 mixed: {s2}";
+}
+
+@packed
+struct PackedMixed<T> {
+ val: T;
+ flag: u8;
+}
+
+test "sizeof packed mixed" {
+ var s1 = sizeof(PackedMixed<i32>);
+ println "i32 packed mixed: {s1}";
+ var s2 = sizeof(PackedMixed<f64>);
+ println "f64 packed mixed: {s2}";
+} \ No newline at end of file