const N: usize = 4 type Helper { fn needsSame(left: ref<[M]i32>, right: ref<[M]i32>) -> Void { } } fn needsSame(left: ref<[M]i32>, right: ref<[M]i32>) -> Void { } fn caller(left: ref<[N]i32>, right: ref<[N]i32>) -> Void { needsSame(left, right) Helper.needsSame(left, right) } pub fn main() -> Void { let values: [3]i32 = [1, 2, 3] caller(&values, &values) }