e7738de6d2
CI / Deep Native Runtime Cases (1/6) (push) Has been skipped
CI / Native Preflight (push) Failing after 1s
CI / Native Runtime Cases (1/2) (push) Failing after 0s
CI / Native Runtime Cases (2/2) (push) Failing after 1s
CI / Native Metadata Reports (push) Failing after 0s
CI / Native Direct Backend Artifacts (push) Failing after 0s
CI / Native Sanitizer Smoke (push) Failing after 1s
CI / Command Contract Snapshots (push) Failing after 1s
CI / Deep Conformance Suite (push) Has been skipped
CI / Graph Build Perf (push) Failing after 1s
CI / Deep Native Preflight (push) Has been skipped
CI / Deep Native Runtime Cases (2/6) (push) Has been skipped
CI / Deep Native Runtime Cases (3/6) (push) Has been skipped
CI / Conformance Suite (push) Failing after 1s
CI / Workspace Checks (push) Failing after 0s
CI / Deep Native Runtime Cases (5/6) (push) Has been skipped
CI / Deep Native Runtime Cases (6/6) (push) Has been skipped
CI / Deep Native Runtime Cases (4/6) (push) Has been skipped
CI / Deep Graph Build Perf (push) Has been skipped
29 lines
693 B
Plaintext
29 lines
693 B
Plaintext
type Helper {
|
|
fn head<T: Type, static N: usize>(items: ref<[N]T>) -> T {
|
|
return items[0]
|
|
}
|
|
}
|
|
|
|
type FixedVec<T: Type, static N: usize> {
|
|
items: [N]T,
|
|
fn first(self: ref<Self>) -> T {
|
|
return self.items[0]
|
|
}
|
|
}
|
|
|
|
fn forwardHead<T: Type, static N: usize>(items: ref<[N]T>) -> T {
|
|
return Helper.head(items)
|
|
}
|
|
|
|
fn forwardFirst<T: Type, static N: usize>(items: ref<FixedVec<T, N>>) -> T {
|
|
return items.first()
|
|
}
|
|
|
|
pub fn main() -> Void {
|
|
let values: [3]i32 = [1, 2, 3]
|
|
let vec: FixedVec<i32, 3> = FixedVec { items: [4, 5, 6] }
|
|
let first: i32 = forwardHead(&values)
|
|
let second: i32 = forwardFirst(&vec)
|
|
expect (first == 1 && second == 4)
|
|
}
|