diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-01-23 23:30:20 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-01-23 23:30:20 -0500 |
| commit | 32d8686da80d282e8cd6d84a0e5c331d269a1f69 (patch) | |
| tree | 889c1f634f4ff2e7b9d8cb078f11dbb41c4a1b2a /test | |
| parent | 17cb85dfb837949cd3a559fe8e99dee1f72463a4 (diff) | |
| download | zig-32d8686da80d282e8cd6d84a0e5c331d269a1f69.tar.gz zig-32d8686da80d282e8cd6d84a0e5c331d269a1f69.zip | |
various fixes
* comptime expression is a block expression as it should be
* fix var args when number of args passed is 0
* implement const value equality for structs
* fix indent when rendering container decl AST
* IR: prevent duplicate generation of code when it is partially
compile-time evaluated
* implement compile time struct field pointer evaluation
* fix compile time evaluation of slicing
Diffstat (limited to 'test')
| -rw-r--r-- | test/cases/eval.zig | 14 | ||||
| -rw-r--r-- | test/cases/generics.zig | 2 | ||||
| -rw-r--r-- | test/cases/var_args.zig | 1 |
3 files changed, 16 insertions, 1 deletions
diff --git a/test/cases/eval.zig b/test/cases/eval.zig index 4b6a095726..2d6c6a8b94 100644 --- a/test/cases/eval.zig +++ b/test/cases/eval.zig @@ -1,4 +1,5 @@ const assert = @import("std").debug.assert; +const str = @import("std").str; fn compileTimeRecursion() { @setFnTest(this); @@ -161,3 +162,16 @@ fn staticallyInitializedArrayLiteral() { assert(y[3] == 4); } const st_init_arr_lit_x = []u8{1,2,3,4}; + + +fn constSlice() { + @setFnTest(this); + + comptime { + const a = "1234567890"; + assert(a.len == 10); + const b = a[1...2]; + assert(b.len == 1); + assert(b[0] == '2'); + } +} diff --git a/test/cases/generics.zig b/test/cases/generics.zig index 069b468966..822c7e0833 100644 --- a/test/cases/generics.zig +++ b/test/cases/generics.zig @@ -13,7 +13,7 @@ fn max(comptime T: type, a: T, b: T) -> T { } fn add(comptime a: i32, b: i32) -> i32 { - return comptime {a} + b; + return (comptime {a}) + b; } const the_max = max(u32, 1234, 5678); diff --git a/test/cases/var_args.zig b/test/cases/var_args.zig index 6b30edd258..680380d7d2 100644 --- a/test/cases/var_args.zig +++ b/test/cases/var_args.zig @@ -13,4 +13,5 @@ fn testAddArbitraryArgs() { assert(add(i32(1), i32(2), i32(3), i32(4)) == 10); assert(add(i32(1234)) == 1234); + assert(add() == 0); } |
