authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-08-29 23:39:54-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-08-29 23:39:54-04:00
log2d5762235529c6023aa61edac95f123576579a52
treea28f0db940c47c965782aa8624ff587211aafd7c
parent898d65baa9198f2fb1c5df91fba51a58c3148626

add test for @alignCast on a slice

See #37

1 files changed, 14 insertions(+), 1 deletions(-)

test/cases/align.zig+14-1
......@@ -72,7 +72,7 @@ fn testBytesAlignSlice(b: u8) {
7272 assert(slice[0] == 0x33333333);
7373}
7474
75test "@alignCast" {
75test "@alignCast pointers" {
7676 var x: u32 align 4 = 1;
7777 expectsOnly1(&x);
7878 assert(x == 2);
......@@ -83,3 +83,16 @@ fn expectsOnly1(x: &align 1 u32) {
8383fn expects4(x: &align 4 u32) {
8484 *x += 1;
8585}
86
87test "@alignCast slices" {
88 var array align 4 = []u32{1, 1};
89 const slice = array[0..];
90 sliceExpectsOnly1(slice);
91 assert(slice[0] == 2);
92}
93fn sliceExpectsOnly1(slice: []align 1 u32) {
94 sliceExpects4(@alignCast(4, slice));
95}
96fn sliceExpects4(slice: []align 4 u32) {
97 slice[0] += 1;
98}