zig/test/standalone
mlugg d11bbde5f9
compiler: remove anonymous struct types, unify all tuples
This commit reworks how anonymous struct literals and tuples work.

Previously, an untyped anonymous struct literal
(e.g. `const x = .{ .a = 123 }`) was given an "anonymous struct type",
which is a special kind of struct which coerces using structural
equivalence. This mechanism was a holdover from before we used
RLS / result types as the primary mechanism of type inference. This
commit changes the language so that the type assigned here is a "normal"
struct type. It uses a form of equivalence based on the AST node and the
type's structure, much like a reified (`@Type`) type.

Additionally, tuples have been simplified. The distinction between
"simple" and "complex" tuple types is eliminated. All tuples, even those
explicitly declared using `struct { ... }` syntax, use structural
equivalence, and do not undergo staged type resolution. Tuples are very
restricted: they cannot have non-`auto` layouts, cannot have aligned
fields, and cannot have default values with the exception of `comptime`
fields. Tuples currently do not have optimized layout, but this can be
changed in the future.

This change simplifies the language, and fixes some problematic
coercions through pointers which led to unintuitive behavior.

Resolves: #16865
2024-10-31 20:42:53 +00:00
..
c_compiler coff: fix incorrect default image_base values and re-enable shared library tests on Windows 2024-10-21 22:54:52 -07:00
child_process Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
cmakedefine make zig compiler processes live across rebuilds 2024-07-14 19:51:16 -07:00
coff_dwarf coff: fix incorrect default image_base values and re-enable shared library tests on Windows 2024-10-21 22:54:52 -07:00
compiler_rt_panic remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
dep_diamond Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
dep_duplicate_module update test build script to latest API 2024-07-01 16:38:02 -07:00
dep_lazypath build: fix WriteFile and addCSourceFiles not adding LazyPath deps 2024-07-04 13:34:17 -04:00
dep_mutually_recursive Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
dep_recursive Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
dep_shared_builtin Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
dep_triangle Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
depend_on_main_mod remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
dependencyFromBuildZig do more robust import 2024-04-18 11:24:42 -07:00
dirname standalone: support relative cache path 2024-05-08 19:37:03 -07:00
embed_generated_file remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
emit_asm_and_bin Build: cleanup 2024-05-05 09:42:51 -04:00
emit_asm_no_bin add standalone test for only dependending on the emitted assembly and not the bin 2024-08-19 19:09:13 +02:00
emit_llvm_no_bin re-enable emit_asm_and_bin and emit_llvm_no_bin tests 2024-08-19 19:09:13 +02:00
empty_env untangle skip conditions 2024-10-08 23:34:20 +02:00
extern tests: add tests for is_dll_import externs 2024-10-22 18:46:14 -04:00
global_linkage lib,test,tools,doc: update usages of @export 2024-08-27 00:44:35 +01:00
install_headers remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
install_raw_hex remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
ios test/standalone: fix iOS smoke test 2024-05-13 08:55:27 +02:00
issue_339 Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
issue_794 remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
issue_5825 Build: cleanup 2024-05-05 09:42:51 -04:00
issue_8550 remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
issue_11595 Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
issue_12706 Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
issue_13970 Build: cleanup 2024-05-05 09:42:51 -04:00
libcxx libcxx: fix building when -fsingle-threaded 2024-06-08 15:34:19 -04:00
load_dynamic_library coff: fix incorrect default image_base values and re-enable shared library tests on Windows 2024-10-21 22:54:52 -07:00
mix_c_files Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
mix_o_files Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
options Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
pie remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
pkg_import Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
run_output_caching test: update make functions to use MakeOptions 2024-07-21 11:22:14 -07:00
run_output_paths Run: add output directory arguments 2024-05-05 15:58:08 -04:00
self_exe_symlink Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
shared_library coff: fix incorrect default image_base values and re-enable shared library tests on Windows 2024-10-21 22:54:52 -07:00
sigpipe compiler: remove anonymous struct types, unify all tuples 2024-10-31 20:42:53 +00:00
simple compiler: remove anonymous struct types, unify all tuples 2024-10-31 20:42:53 +00:00
stack_iterator test: Disable shared_lib_unwind on x86_64-macos. 2024-09-19 18:20:21 -07:00
static_c_lib Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
strip_empty_loop Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
strip_struct_init remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
test_runner_module_imports remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
test_runner_path remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
use_alias remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
windows_argv Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
windows_bat_args Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
windows_entry_points remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
windows_resources Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
windows_spawn Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
zerolength_check remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
build.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
build.zig.zon re-enable emit_asm_and_bin and emit_llvm_no_bin tests 2024-08-19 19:09:13 +02:00