lib/std/mem/Allocator.zig | 9 +- src/AstGen.zig | 9 +- src/Sema.zig | 62 ++++++++--- src/codegen/c.zig | 14 ++- src/codegen/llvm.zig | 30 +++-- src/translate_c.zig | 189 +++++++++++++------------------- src/type.zig | 46 ++------ test/behavior.zig | 2 + test/behavior/bugs/13159.zig | 14 +++ test/behavior/bugs/13285.zig | 11 ++ test/behavior/cast.zig | 11 ++ test/behavior/optional.zig | 16 +++ test/behavior/translate_c_macros.h | 1 + test/behavior/translate_c_macros.zig | 1 + test/cases/compile_errors/too_big_packed_struct.zig | 13 +++ test/cases/compile_errors/zero-bit_generic_args_are_coerced_to_param_type.zig | 10 ++ test/translate_c.zig | 8 +- 17 files changed, 260 insertions(+), 186 deletions(-)