| ... | @@ -8180,7 +8180,7 @@ fn analyzeParameter( | ... | @@ -8180,7 +8180,7 @@ fn analyzeParameter( |
| 8180 | if (param.is_comptime and !Type.fnCallingConventionAllowsZigTypes(cc)) { | 8180 | if (param.is_comptime and !Type.fnCallingConventionAllowsZigTypes(cc)) { |
| 8181 | return sema.fail(block, param_src, "comptime parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); | 8181 | return sema.fail(block, param_src, "comptime parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); |
| 8182 | } | 8182 | } |
| 8183 | if (this_generic and !Type.fnCallingConventionAllowsZigTypes(cc)) { | 8183 | if (this_generic and !sema.no_partial_func_ty and !Type.fnCallingConventionAllowsZigTypes(cc)) { |
| 8184 | return sema.fail(block, param_src, "generic parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); | 8184 | return sema.fail(block, param_src, "generic parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); |
| 8185 | } | 8185 | } |
| 8186 | if (!param.ty.isValidParamType()) { | 8186 | if (!param.ty.isValidParamType()) { |
| ... | @@ -8196,7 +8196,7 @@ fn analyzeParameter( | ... | @@ -8196,7 +8196,7 @@ fn analyzeParameter( |
| 8196 | }; | 8196 | }; |
| 8197 | return sema.failWithOwnedErrorMsg(msg); | 8197 | return sema.failWithOwnedErrorMsg(msg); |
| 8198 | } | 8198 | } |
| 8199 | if (!Type.fnCallingConventionAllowsZigTypes(cc) and !try sema.validateExternType(block, param_src, param.ty, .param_ty)) { | 8199 | if (!this_generic and !Type.fnCallingConventionAllowsZigTypes(cc) and !try sema.validateExternType(block, param_src, param.ty, .param_ty)) { |
| 8200 | const msg = msg: { | 8200 | const msg = msg: { |
| 8201 | const msg = try sema.errMsg(block, param_src, "parameter of type '{}' not allowed in function with calling convention '{s}'", .{ | 8201 | const msg = try sema.errMsg(block, param_src, "parameter of type '{}' not allowed in function with calling convention '{s}'", .{ |
| 8202 | param.ty.fmt(sema.mod), @tagName(cc), | 8202 | param.ty.fmt(sema.mod), @tagName(cc), |