zig/lib/compiler
mlugg e9bd2d45d4
Sema: rewrite semantic analysis of function calls
This rewrite improves some error messages, hugely simplifies the logic,
and fixes several bugs. One of these bugs is technically a new rule
which Andrew and I agreed on: if a parameter has a comptime-only type
but is not declared `comptime`, then the corresponding call argument
should not be *evaluated* at comptime; only resolved. Implementing this
required changing how function types work a little, which in turn
required allowing a new kind of function coercion for some generic use
cases: function coercions are now allowed to implicitly *remove*
`comptime` annotations from parameters with comptime-only types. This is
okay because removing the annotation affects only the call site.

Resolves: #22262
2025-01-09 06:46:47 +00:00
..
aro std.Target: Incorporate the Abi tag in VersionRange.default(). 2024-12-17 05:04:16 +01:00
aro_translate_c cbe,translate-c: support more callconvs 2024-10-19 19:15:24 +01:00
reduce reduce: fix compile errors 2024-03-24 17:29:39 +01:00
resinator Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
aro_translate_c.zig Sema: rewrite semantic analysis of function calls 2025-01-09 06:46:47 +00:00
build_runner.zig std.Build: simplify module dependency handling 2024-12-18 01:47:51 +05:00
libc.zig zig libc: allow non-native targets 2024-03-13 02:17:28 -04:00
objcopy.zig objcopy: check both global and local when remapping 2024-10-12 10:44:17 -07:00
reduce.zig Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
std-docs.zig Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
test_runner.zig test_runner: replace ugly hack with @FieldType 2024-11-11 09:05:51 +00:00