| ... | ... | @@ -8881,7 +8881,7 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 8881 | 8881 | }, |
| 8882 | 8882 | .Pointer => { |
| 8883 | 8883 | const info = ty.ptrInfo().data; |
| 8884 | | const field_values = try sema.arena.alloc(Value, 7); |
| 8884 | const field_values = try sema.arena.alloc(Value, 8); |
| 8885 | 8885 | // size: Size, |
| 8886 | 8886 | field_values[0] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.size)); |
| 8887 | 8887 | // is_const: bool, |
| ... | ... | @@ -8890,12 +8890,14 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 8890 | 8890 | field_values[2] = if (info.@"volatile") Value.initTag(.bool_true) else Value.initTag(.bool_false); |
| 8891 | 8891 | // alignment: comptime_int, |
| 8892 | 8892 | field_values[3] = try Value.Tag.int_u64.create(sema.arena, info.@"align"); |
| 8893 | // address_space: AddressSpace |
| 8894 | field_values[4] = try Value.Tag.enum_field_index.create(sema.arena, @enumToInt(info.@"addrspace")); |
| 8893 | 8895 | // child: type, |
| 8894 | | field_values[4] = try Value.Tag.ty.create(sema.arena, info.pointee_type); |
| 8896 | field_values[5] = try Value.Tag.ty.create(sema.arena, info.pointee_type); |
| 8895 | 8897 | // is_allowzero: bool, |
| 8896 | | field_values[5] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false); |
| 8898 | field_values[6] = if (info.@"allowzero") Value.initTag(.bool_true) else Value.initTag(.bool_false); |
| 8897 | 8899 | // sentinel: anytype, |
| 8898 | | field_values[6] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null"; |
| 8900 | field_values[7] = if (info.sentinel) |some| try Value.Tag.opt_payload.create(sema.arena, some) else Value.@"null"; |
| 8899 | 8901 | |
| 8900 | 8902 | return sema.addConstant( |
| 8901 | 8903 | type_info_ty, |