doc/langref.html.in | 80 ++- lib/std/Build/Cache.zig | 2 +- lib/std/RingBuffer.zig | 2 +- lib/std/Uri.zig | 2 +- lib/std/array_list.zig | 2 + lib/std/bit_set.zig | 5 +- lib/std/builtin.zig | 27 + lib/std/c/darwin.zig | 8 + lib/std/c/dragonfly.zig | 17 + lib/std/c/freebsd.zig | 96 +++- lib/std/c/haiku.zig | 25 +- lib/std/c/netbsd.zig | 19 + lib/std/c/solaris.zig | 19 + lib/std/compress/zstandard.zig | 2 +- lib/std/compress/zstandard/decode/fse.zig | 2 +- lib/std/crypto/sha2.zig | 8 +- lib/std/debug.zig | 2 + lib/std/elf.zig | 93 ++- lib/std/fmt.zig | 11 +- lib/std/fs.zig | 15 +- lib/std/fs/path.zig | 7 +- lib/std/http.zig | 1 + lib/std/http/Client.zig | 17 +- lib/std/http/Headers.zig | 84 ++- lib/std/http/Server.zig | 80 ++- lib/std/http/protocol.zig | 8 +- lib/std/http/test.zig | 72 +++ lib/std/macho.zig | 4 +- lib/std/math.zig | 7 +- lib/std/mem.zig | 2 +- lib/std/net.zig | 13 + lib/std/net/test.zig | 21 + lib/std/os.zig | 14 +- lib/std/os/linux.zig | 5 +- lib/std/os/linux/seccomp.zig | 2 +- lib/std/os/test.zig | 2 + lib/std/process.zig | 14 +- lib/std/rand.zig | 2 + lib/std/tar.zig | 7 +- src/Air.zig | 2 +- src/AstGen.zig | 175 +++--- src/Autodoc.zig | 4 +- src/BuiltinFn.zig | 8 + src/Module.zig | 2 +- src/Sema.zig | 64 ++- src/Zir.zig | 7 +- src/arch/wasm/CodeGen.zig | 93 ++- src/clang.zig | 9 + src/link/NvPtx.zig | 2 +- src/link/Wasm.zig | 43 ++ src/main.zig | 4 +- src/print_zir.zig | 1 + src/translate_c.zig | 35 +- src/zig_clang.cpp | 16 + src/zig_clang.h | 3 + stage1/zig.h | 968 ++++++++++++++++++++------------ stage1/zig1.wasm | Bin 2434652 -> 2444572 bytes test/behavior/cast.zig | 1 - test/behavior/eval.zig | 12 + test/behavior/fn.zig | 17 + test/behavior/type.zig | 7 +- test/cases/compile_errors/union_init_with_none_or_multiple_fields.zig | 4 +- test/cases/compile_errors/variadic_arg_validation.zig | 2 +- test/cases/safety/pointer casting to null function pointer.zig | 23 + test/tests.zig | 6 + test/translate_c.zig | 6 + 66 files changed, 1713 insertions(+), 600 deletions(-)