Improve type hinting for compound literals

This commit is contained in:
gingerBill
2018-08-14 19:39:28 +01:00
parent 2d41a42f61
commit 59da98d3f0

View File

@@ -4249,7 +4249,19 @@ CallArgumentData check_call_arguments(CheckerContext *c, Operand *operand, Type
} else {
operands = array_make<Operand>(heap_allocator(), 0, 2*ce->args.count);
check_unpack_arguments(c, nullptr, -1, &operands, ce->args, false);
Entity **lhs = nullptr;
isize lhs_count = -1;
if (proc_type != nullptr && is_type_proc(proc_type)) {
TypeProc *pt = &base_type(proc_type)->Proc;
if (!pt->is_polymorphic || pt->is_poly_specialized) {
if (pt->params != nullptr) {
lhs = pt->params->Tuple.variables.data;
lhs_count = pt->params->Tuple.variables.count;
}
}
}
check_unpack_arguments(c, lhs, lhs_count, &operands, ce->args, false);
}
if (operand->mode == Addressing_ProcGroup) {