zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2d5762235529c6023aa61edac95f123576579a52 (tree)
parent 898d65baa9198f2fb1c5df91fba51a58c3148626
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Tue, 29 Aug 2017 23:39:54 -0400

add test for @alignCast on a slice

See #37

Diffstat:
Mtest/cases/align.zig | 15++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/test/cases/align.zig b/test/cases/align.zig @@ -72,7 +72,7 @@ fn testBytesAlignSlice(b: u8) { assert(slice[0] == 0x33333333); } -test "@alignCast" { +test "@alignCast pointers" { var x: u32 align 4 = 1; expectsOnly1(&x); assert(x == 2); @@ -83,3 +83,16 @@ fn expectsOnly1(x: &align 1 u32) { fn expects4(x: &align 4 u32) { *x += 1; } + +test "@alignCast slices" { + var array align 4 = []u32{1, 1}; + const slice = array[0..]; + sliceExpectsOnly1(slice); + assert(slice[0] == 2); +} +fn sliceExpectsOnly1(slice: []align 1 u32) { + sliceExpects4(@alignCast(4, slice)); +} +fn sliceExpects4(slice: []align 4 u32) { + slice[0] += 1; +}