diff options
| author | gingerBill <bill@gingerbill.org> | 2019-03-30 10:43:53 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2019-03-30 10:43:53 +0000 |
| commit | 7580ec494b144d85bf96af114d32fc60f0f8c0ad (patch) | |
| tree | 7d53c390c7f6017be2ab899ba94b5b6614c834cc /src/check_type.cpp | |
| parent | a9b20c29b1ade46d82ab6c62dfcf9148d86daae0 (diff) | |
Disallow ambiguous singularly variadic polymorphic parameters #361
Diffstat (limited to 'src/check_type.cpp')
| -rw-r--r-- | src/check_type.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp index 1721ed881..22cd409ee 100644 --- a/src/check_type.cpp +++ b/src/check_type.cpp @@ -1570,6 +1570,12 @@ Type *check_get_params(CheckerContext *ctx, Scope *scope, Ast *_params, bool *is if (operands != nullptr && variables.count < operands->count) { Operand op = (*operands)[variables.count]; + if (op.expr == nullptr) { + // NOTE(bill): 2019-03-30 + // This is just to add the error message to determine_type_from_polymorphic which + // depends on valid position information + op.expr = _params; + } if (is_type_polymorphic_type) { type = determine_type_from_polymorphic(ctx, type, op); if (type == t_invalid) { |