| author | |
| committer | |
| log | 2c710382a888e8f45b958bdf3e77213cc18c2733 |
| tree | d6933afbfeb9d50434fb1bc5c0743c4e1a083e34 |
| parent | 3df9389215b365a83b1a509e55086595105c1f58 |
closes #1532 files changed, 12 insertions(+), 1 deletions(-)
src/analyze.cpp+1-1| ... | ... | @@ -3953,7 +3953,7 @@ static TypeTableEntry *analyze_for_expr(CodeGen *g, ImportTableEntry *import, Bl |
| 3953 | 3953 | } |
| 3954 | 3954 | |
| 3955 | 3955 | TypeTableEntry *var_type; |
| 3956 | if (node->data.for_expr.elem_is_ptr) { | |
| 3956 | if (child_type->id != TypeTableEntryIdInvalid && node->data.for_expr.elem_is_ptr) { | |
| 3957 | 3957 | var_type = get_pointer_to_type(g, child_type, false); |
| 3958 | 3958 | } else { |
| 3959 | 3959 | var_type = child_type; |
test/run_tests.cpp+11| ... | ... | @@ -1395,6 +1395,17 @@ fn something() -> %void { } |
| 1395 | 1395 | pub fn main(args: [][]u8) { } |
| 1396 | 1396 | )SOURCE", 1, ".tmp_source.zig:2:27: error: expected return type of main to be '%void', instead is 'void'"); |
| 1397 | 1397 | |
| 1398 | ||
| 1399 | add_compile_fail_case("invalid pointer for var type", R"SOURCE( | |
| 1400 | extern fn ext() -> isize; | |
| 1401 | var bytes: [ext()]u8 = undefined; | |
| 1402 | fn f() { | |
| 1403 | for (bytes) |*b, i| { | |
| 1404 | *b = u8(i); | |
| 1405 | } | |
| 1406 | } | |
| 1407 | )SOURCE", 1, ".tmp_source.zig:3:13: error: unable to evaluate constant expression"); | |
| 1408 | ||
| 1398 | 1409 | } |
| 1399 | 1410 | |
| 1400 | 1411 | ////////////////////////////////////////////////////////////////////////////// |