mirror of
https://github.com/ziglang/zig.git
synced 2025-12-16 03:03:09 +00:00
* `@truncate` builtin allows casting to the same size integer. It also performs two's complement casting between signed and unsigned integers. * The idiomatic way to convert between bytes and numbers is now `mem.readInt` and `mem.writeInt` instead of an unsafe cast. It works at compile time, is safer, and looks cleaner. * Implicitly casting an array to a slice is allowed only if the slice is const. * Constant pointer values know if their memory is from a compile- time constant value or a compile-time variable. * Cast from [N]u8 to []T no longer allowed, but [N]u8 to []const T still allowed. * Fix inability to pass a mutable pointer to comptime variable at compile-time to a function and have the function modify the memory pointed to by the pointer. * Add the `comptime T: type` parameter back to mem.eql. Prevents accidentally creating instantiations for arrays.
Zig Examples
Working Examples
- Tetris - A simple Tetris clone written in Zig. See andrewrk/tetris.
- hello_world - demonstration of a printing a single line to stdout. One version depends on libc; one does not.
- guess_number - simple console game where you guess the number the computer is thinking of and it says higher or lower. No dependency on libc.
- cat - implementation of the
catUNIX utility in Zig, with no dependency on libc.
Work-In-Progress Examples
- shared_library - demonstration of building a shared library and generating a header file and documentation for interop with C code.