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
36 lines
827 B
Plaintext
36 lines
827 B
Plaintext
const enabled: Bool = meta(target.pointerWidth >= 32 && hasField(Point, "y"))
|
|
|
|
const selected: Mode = Mode.tiny
|
|
|
|
const fields: usize = meta fieldCount(Point)
|
|
|
|
const field_type: String = meta fieldType(Point, "x")
|
|
|
|
type Point {
|
|
x: i32,
|
|
y: i32,
|
|
}
|
|
|
|
type Gate<static enabledFlag: Bool, static selectedMode: Mode> {
|
|
value: i32,
|
|
}
|
|
|
|
enum Mode: u8 {
|
|
fast,
|
|
tiny,
|
|
}
|
|
|
|
fn readGate<static enabledFlag: Bool, static selectedMode: Mode>(gate: ref<Gate<enabledFlag, selectedMode>>) -> i32 {
|
|
if enabledFlag {
|
|
return gate.value
|
|
}
|
|
return 0
|
|
}
|
|
|
|
pub fn main(world: World) -> Void raises {
|
|
let gate: Gate<enabled, selected> = Gate { value: 29 }
|
|
if readGate<enabled, selected>(&gate) == 29 && fields == 2 && std.mem.eql(field_type, "i32") {
|
|
check world.out.write("compile time v1 ok\n")
|
|
}
|
|
}
|