Commit 65cf5a8e44

Jimmi Holst Christensen <jimmi@ziglang.org>
2019-04-06 11:04:55
removed todo comment and added test
1 parent 3109c89
Changed files (2)
src
test
stage1
behavior
src/ir.cpp
@@ -16309,9 +16309,6 @@ static IrInstruction *ir_analyze_instruction_to_ptr_type(IrAnalyze *ira,
 
     ZigType *ptr_type;
     if (type_entry->id == ZigTypeIdArray) {
-        // TODO: Allow capturing pointer to const array.
-        // const a = "123"; for (a) |*c| continue;
-        // error: expected type '*u8', found '*const u8'
         ptr_type = get_pointer_to_type(ira->codegen, type_entry->data.array.child_type, ptr_ptr_type->data.pointer.is_const);
     } else if (is_array_ref(type_entry)) {
         ptr_type = get_pointer_to_type(ira->codegen,
test/stage1/behavior/for.zig
@@ -27,7 +27,13 @@ test "for loop with pointer elem var" {
     mem.copy(u8, target[0..], source);
     mangleString(target[0..]);
     expect(mem.eql(u8, target, "bcdefgh"));
+
+    for (source) |*c, i|
+        expect(@typeOf(c) == *const u8);
+    for (target) |*c, i|
+        expect(@typeOf(c) == *u8);
 }
+
 fn mangleString(s: []u8) void {
     for (s) |*c| {
         c.* += 1;