master
 1const expectEqual = @import("std").testing.expectEqual;
 2test "result type propagates through struct initializer" {
 3    const S = struct { x: u32 };
 4    const val: u64 = 123;
 5    const s: S = .{ .x = @intCast(val) };
 6    // .{ .x = @intCast(val) }   has result type `S` due to the type annotation
 7    //         @intCast(val)     has result type `u32` due to the type of the field `S.x`
 8    //                  val      has no result type, as it is permitted to be any integer type
 9    try expectEqual(@as(u32, 123), s.x);
10}
11
12// test