// #target: macos-x64 module testing; import std::io; fn void main() { String[] s1; String[] s2; deep_equal(s1, s2); } macro bool deep_equal(a, b) { $switch $typeof(a).kindof: $case SLICE: if (a.len != b.len) return false; foreach (i, x : a) { if (!deep_equal(x, b[i])) return false; } return true; $default: $assert(false); // #error: Compile time assert failed $endswitch }