const expect = @import("std").testing.expect; var foo: u8 align(4) = 100; test "global variable alignment" { try expect(@typeInfo(@TypeOf(&foo)).pointer.alignment == 4); try expect(@TypeOf(&foo) == *align(4) u8); const as_pointer_to_array: *align(4) [1]u8 = &foo; const as_slice: []align(4) u8 = as_pointer_to_array; const as_unaligned_slice: []u8 = as_slice; try expect(as_unaligned_slice[0] == 100); } fn derp() align(@sizeOf(usize) * 2) i32 { return 1234; } fn noop1() align(1) void {} fn noop4() align(4) void {} test "function alignment" { try expect(derp() == 1234); try expect(@TypeOf(derp) == fn () i32); try expect(@TypeOf(&derp) == *align(@sizeOf(usize) * 2) const fn () i32); noop1(); try expect(@TypeOf(noop1) == fn () void); try expect(@TypeOf(&noop1) == *align(1) const fn () void); noop4(); try expect(@TypeOf(noop4) == fn () void); try expect(@TypeOf(&noop4) == *align(4) const fn () void); } // test