Commit 65cf5a8e44
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;