25 lines
441 B
Plaintext
25 lines
441 B
Plaintext
//ww:run-exit 201
|
|
// Migrated from 700_e2e row 95.
|
|
package main;
|
|
fn pickptr(b: bool) *i32 = {
|
|
let x: i32 = 42;
|
|
if (b) { return &x; };
|
|
return nil;
|
|
};
|
|
fn main() i32 = {
|
|
let arr: [3](*i32 | void);
|
|
arr[0] = nil;
|
|
arr[1] = pickptr(true);
|
|
arr[2] = pickptr(false);
|
|
let s: i32 = 0;
|
|
let i: i32 = 0;
|
|
for (i < 3) {
|
|
match (arr[i]) {
|
|
case let p: *i32 => s += 1;
|
|
case => s += 100;
|
|
};
|
|
i += 1;
|
|
};
|
|
return s;
|
|
};
|