diff --git a/src/Sema.zig b/src/Sema.zig index 90de95b5d6..fa25e1e403 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -18270,7 +18270,7 @@ fn resolvePeerTypes( convert_to_slice = false; - if (chosen_ty.childType().isConstPtr() and !candidate_ty.childType().isConstPtr()) + if (chosen_ty.isConstPtr() and !candidate_ty.isConstPtr()) seen_const = true; continue; @@ -18282,7 +18282,7 @@ fn resolvePeerTypes( chosen_ty_tag == .Pointer and chosen_ty.ptrSize() == .Many) { - if (candidate_ty.childType().isConstPtr() and !chosen_ty.childType().isConstPtr()) + if (candidate_ty.isConstPtr() and !chosen_ty.isConstPtr()) seen_const = true; continue; @@ -18303,7 +18303,7 @@ fn resolvePeerTypes( convert_to_slice = false; // it already is a slice // If the pointer is const then we need to const - if (candidate_ty.childType().isConstPtr()) + if (candidate_ty.isConstPtr()) seen_const = true; continue; @@ -18326,7 +18326,7 @@ fn resolvePeerTypes( convert_to_slice = false; // it already is a slice // If the prev pointer is const then we need to const - if (chosen_child_ty.isConstPtr()) + if (chosen_ty.isConstPtr()) seen_const = true; continue; diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index bc120d6697..8e53b7d44d 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -964,7 +964,11 @@ test "cast between C pointer with different but compatible types" { } test "peer type resolve string lit with sentinel-terminated mutable slice" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO var array: [4:0]u8 = undefined; array[4] = 0; // TODO remove this when #4372 is solved @@ -981,7 +985,11 @@ test "peer type resolve array pointers, one of them const" { } test "peer type resolve array pointer and unknown pointer" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO const const_array: [4]u8 = undefined; var array: [4]u8 = undefined;