InternPool: eliminate var_args_param_type

This was a "fake" type used to handle C varargs parameters, much like
generic poison. In fact, it is treated identically to generic poison in
all cases other than one (the final coercion of a call argument), which
is trivially special-cased. Thus, it makes sense to remove this special
tag and instead use `generic_poison_type` in its place. This fixes
several bugs in Sema related to missing handling of this tag.

Resolves: #19781
This commit is contained in:
mlugg
2024-05-02 01:59:38 +01:00
committed by Matthew Lugg
parent 5bbb2f966a
commit db890dbae7
6 changed files with 15 additions and 35 deletions

View File

@@ -1468,7 +1468,6 @@ pub const Pool = struct {
.bool_false,
.empty_struct,
.generic_poison,
.var_args_param_type,
.none,
=> unreachable,

View File

@@ -3235,7 +3235,6 @@ pub const Object = struct {
.bool_false,
.empty_struct,
.generic_poison,
.var_args_param_type,
.none,
=> unreachable,
else => switch (ip.indexToKey(t.toIntern())) {