#zig build-exe {
--name test
-Mroot=test.zig
#}

#write test.zig {
const SomeType = u32;
const S = struct {
    x: SomeType,
    fn foo(_: S) void {}
};
pub fn main() void {
    const s: S = .{ .x = 456 };
    s.foo();
}
#}
#update
#check stdout

#write test.zig {
const SomeType = comptime_int;
const S = struct {
    x: SomeType,
    fn foo(_: S) void {}
};
pub fn main() void {
    const s: S = .{ .x = 456 };
    s.foo();
}
#}
#update "make S comptime-only"
#check stdout

#write test.zig {
const SomeType = u16;
const S = struct {
    x: SomeType,
    fn foo(_: S) void {}
};
pub fn main() void {
    const s: S = .{ .x = 456 };
    s.foo();
}
#}
#update "make S runtime again"
#check stdout
