zig/test/behavior/void.zig
2021-06-21 17:03:03 -07:00

41 lines
711 B
Zig

const expect = @import("std").testing.expect;
const Foo = struct {
a: void,
b: i32,
c: void,
};
test "compare void with void compile time known" {
comptime {
const foo = Foo{
.a = {},
.b = 1,
.c = {},
};
try expect(foo.a == {});
}
}
test "iterate over a void slice" {
var j: usize = 0;
for (times(10)) |_, i| {
try expect(i == j);
j += 1;
}
}
fn times(n: usize) []const void {
return @as([*]void, undefined)[0..n];
}
test "void optional" {
var x: ?void = {};
try expect(x != null);
}
test "void array as a local variable initializer" {
var x = [_]void{{}} ** 1004;
_ = x[0];
}