aboutsummaryrefslogtreecommitdiff
path: root/test/run_tests.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-01-08 10:41:36 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-01-08 10:41:36 -0500
commite4bc8d22c2f518353d31d8c99de8d35e5ead0c67 (patch)
treeedf0b974211cd0c65000e5e39f771c7d6b9f7694 /test/run_tests.cpp
parent3ef447fa20f54f75ad3b9be59768b4ef284cb941 (diff)
downloadzig-e4bc8d22c2f518353d31d8c99de8d35e5ead0c67.tar.gz
zig-e4bc8d22c2f518353d31d8c99de8d35e5ead0c67.zip
fix some tests
Diffstat (limited to 'test/run_tests.cpp')
-rw-r--r--test/run_tests.cpp32
1 files changed, 11 insertions, 21 deletions
diff --git a/test/run_tests.cpp b/test/run_tests.cpp
index 0381ebbabe..6083dfd8f6 100644
--- a/test/run_tests.cpp
+++ b/test/run_tests.cpp
@@ -1022,16 +1022,15 @@ const x = foo();
)SOURCE", 1, ".tmp_source.zig:3:11: error: unable to evaluate constant expression");
add_compile_fail_case("array concatenation with wrong type", R"SOURCE(
-fn f(s: []u8) -> []u8 {
- s ++ "foo"
-}
- )SOURCE", 1, ".tmp_source.zig:3:5: error: expected array or C string literal, found '[]u8'");
+const src = "aoeu";
+const a = src[0...] ++ "foo";
+ )SOURCE", 1, ".tmp_source.zig:3:14: error: expected array or C string literal, found '[]u8'");
add_compile_fail_case("non compile time array concatenation", R"SOURCE(
fn f(s: [10]u8) -> []u8 {
s ++ "foo"
}
- )SOURCE", 1, ".tmp_source.zig:3:5: error: array concatenation requires constant expression");
+ )SOURCE", 1, ".tmp_source.zig:3:5: error: unable to evaluate constant expression");
add_compile_fail_case("@cImport with bogus include", R"SOURCE(
const c = @cImport(@cInclude("bogus.h"));
@@ -1041,14 +1040,8 @@ const c = @cImport(@cInclude("bogus.h"));
add_compile_fail_case("address of number literal", R"SOURCE(
const x = 3;
const y = &x;
- )SOURCE", 1, ".tmp_source.zig:3:12: error: unable to get address of type '(integer literal)'");
-
- add_compile_fail_case("@typeOf number literal", R"SOURCE(
-const x = 3;
-const Foo = struct {
- index: @typeOf(x),
-};
- )SOURCE", 1, ".tmp_source.zig:4:20: error: type '(integer literal)' not eligible for @typeOf");
+fn foo() -> &const i32 { y }
+ )SOURCE", 1, ".tmp_source.zig:4:26: error: expected type '&const i32', found '&const (integer literal)'");
add_compile_fail_case("integer overflow error", R"SOURCE(
const x : u8 = 300;
@@ -1077,7 +1070,7 @@ const members = []member_fn_type {
Foo.member_b,
};
-fn f(foo: Foo, index: i32) {
+fn f(foo: Foo, index: usize) {
const result = members[index]();
}
)SOURCE", 1, ".tmp_source.zig:21:34: error: expected 1 arguments, found 0");
@@ -1094,10 +1087,7 @@ const fns = []fn(){ a, b, c };
fn a() -> i32 {0}
fn b() -> i32 {1}
fn c() -> i32 {2}
- )SOURCE", 3,
- ".tmp_source.zig:2:21: error: expected type 'fn()', found 'fn() -> i32'",
- ".tmp_source.zig:2:24: error: expected type 'fn()', found 'fn() -> i32'",
- ".tmp_source.zig:2:27: error: expected type 'fn()', found 'fn() -> i32'");
+ )SOURCE", 1, ".tmp_source.zig:2:21: error: expected type 'fn()', found 'fn() -> i32'");
add_compile_fail_case("extern function pointer mismatch", R"SOURCE(
const fns = [](fn(i32)->i32){ a, b, c };
@@ -1126,11 +1116,11 @@ const x = @compileVar("bogus");
)SOURCE", 1, ".tmp_source.zig:2:23: error: unrecognized compile variable: 'bogus'");
- add_compile_fail_case("@constEval", R"SOURCE(
+ add_compile_fail_case("@staticEval", R"SOURCE(
fn a(x: i32) {
- const y = @constEval(x);
+ const y = @staticEval(x);
}
- )SOURCE", 1, ".tmp_source.zig:3:26: error: unable to evaluate constant expression");
+ )SOURCE", 1, ".tmp_source.zig:3:27: error: unable to evaluate constant expression");
add_compile_fail_case("non constant expression in array size outside function", R"SOURCE(
const Foo = struct {