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:
| M | test/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; +}