| ... | ... | @@ -1069,19 +1069,17 @@ fn zirOpaqueDecl( |
| 1069 | 1069 | inst: Zir.Inst.Index, |
| 1070 | 1070 | name_strategy: Zir.Inst.NameStrategy, |
| 1071 | 1071 | ) InnerError!*Inst { |
| 1072 | | _ = name_strategy; |
| 1073 | 1072 | const tracy = trace(@src()); |
| 1074 | 1073 | defer tracy.end(); |
| 1075 | 1074 | |
| 1076 | 1075 | const inst_data = sema.code.instructions.items(.data)[inst].pl_node; |
| 1077 | 1076 | const src = inst_data.src(); |
| 1078 | 1077 | const extra = sema.code.extraData(Zir.Inst.Block, inst_data.payload_index); |
| 1079 | | if (false) { |
| 1080 | | inst_data; |
| 1081 | | src; |
| 1082 | | extra; |
| 1083 | | } |
| 1084 | 1078 | |
| 1079 | _ = name_strategy; |
| 1080 | _ = inst_data; |
| 1081 | _ = src; |
| 1082 | _ = extra; |
| 1085 | 1083 | return sema.mod.fail(&block.base, sema.src, "TODO implement zirOpaqueDecl", .{}); |
| 1086 | 1084 | } |
| 1087 | 1085 | |
| ... | ... | @@ -1244,8 +1242,7 @@ fn zirArg(sema: *Sema, block: *Scope.Block, inst: Zir.Inst.Index) InnerError!*In |
| 1244 | 1242 | |
| 1245 | 1243 | // TODO check if arg_name shadows a Decl |
| 1246 | 1244 | |
| 1247 | | if (block.inlining) |inlining| { |
| 1248 | | _ = inlining; |
| 1245 | if (block.inlining) |_| { |
| 1249 | 1246 | return sema.param_inst_list[arg_index]; |
| 1250 | 1247 | } |
| 1251 | 1248 | |
| ... | ... | @@ -3067,7 +3064,6 @@ fn funcCommon( |
| 3067 | 3064 | src_locs: Zir.Inst.Func.SrcLocs, |
| 3068 | 3065 | opt_lib_name: ?[]const u8, |
| 3069 | 3066 | ) InnerError!*Inst { |
| 3070 | | _ = inferred_error_set; |
| 3071 | 3067 | const src: LazySrcLoc = .{ .node_offset = src_node_offset }; |
| 3072 | 3068 | const ret_ty_src: LazySrcLoc = .{ .node_offset_fn_type_ret_ty = src_node_offset }; |
| 3073 | 3069 | const return_type = try sema.resolveType(block, ret_ty_src, zir_return_type); |
| ... | ... | @@ -3076,7 +3072,9 @@ fn funcCommon( |
| 3076 | 3072 | |
| 3077 | 3073 | const fn_ty: Type = fn_ty: { |
| 3078 | 3074 | // Hot path for some common function types. |
| 3079 | | if (zir_param_types.len == 0 and !var_args and align_val.tag() == .null_value) { |
| 3075 | if (zir_param_types.len == 0 and !var_args and align_val.tag() == .null_value and |
| 3076 | !inferred_error_set) |
| 3077 | { |
| 3080 | 3078 | if (return_type.zigTypeTag() == .NoReturn and cc == .Unspecified) { |
| 3081 | 3079 | break :fn_ty Type.initTag(.fn_noreturn_no_args); |
| 3082 | 3080 | } |
| ... | ... | @@ -3107,6 +3105,10 @@ fn funcCommon( |
| 3107 | 3105 | return mod.fail(&block.base, src, "TODO implement support for function prototypes to have alignment specified", .{}); |
| 3108 | 3106 | } |
| 3109 | 3107 | |
| 3108 | if (inferred_error_set) { |
| 3109 | return mod.fail(&block.base, src, "TODO implement functions with inferred error sets", .{}); |
| 3110 | } |
| 3111 | |
| 3110 | 3112 | break :fn_ty try Type.Tag.function.create(sema.arena, .{ |
| 3111 | 3113 | .param_types = param_types, |
| 3112 | 3114 | .return_type = return_type, |