zig/test
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
..
behavior Sema: rewrite semantic analysis of function calls 2025-01-09 06:46:47 +00:00
c_abi std.Target: Replace isARM() with isArmOrThumb() and rename it to isArm(). 2024-11-03 09:29:30 +01:00
c_import std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
cases Sema: rewrite semantic analysis of function calls 2025-01-09 06:46:47 +00:00
incremental Dwarf: implement new incremental line number update API 2025-01-05 02:20:56 +00:00
link compiler: disallow callconv etc from depending on function parameters 2024-12-18 23:06:35 +00:00
src test-debugger: migrate from deprecated std.Build APIs 2024-12-18 01:49:07 +05:00
standalone Sema: rewrite semantic analysis of function calls 2025-01-09 06:46:47 +00:00
assemble_and_link.zig
behavior.zig AstGen: lower function addrspace expression correctly 2024-12-28 02:15:00 +00:00
c_import.zig c_import: extract behavior tests that use @cImport 2024-02-20 18:44:43 +01:00
cases.zig remove test/cbe.zig 2024-03-28 15:24:01 +02:00
compare_output.zig compiler: remove anonymous struct types, unify all tuples 2024-10-31 20:42:53 +00:00
compile_errors.zig Sema: rewrite semantic analysis of function calls 2025-01-09 06:46:47 +00:00
gen_h.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
llvm_targets.zig std.Target: Remove Os.Tag.bridgeos. 2024-12-03 20:43:15 +01:00
nvptx.zig test: Set emit_bin=false for all nvptx tests. 2024-11-24 22:11:17 +01:00
run_translated_c.zig remove hard tabs from source code 2024-07-31 16:57:42 -07:00
stack_traces.zig test/stack_traces.zig: add err union switch case 2024-01-18 15:10:32 +11:00
tests.zig test: Enable long calls for all thumb/thumbeb module tests. 2025-01-07 08:44:45 +01:00
translate_c.zig test: update for CallingConvention changes 2024-10-19 19:15:23 +01:00