zig
zig copied to clipboard
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
An important use case in Zig is the ability to load a module and use reflection to inspect the decarations it exposes. Unfortunately, it's also common to see modules that...
Since #14647 landed in master, I started experiencing build failures on an M1 mac where it looked as if the output directory handle was getting closed before we could invalidate...
### Zig Version 0.11.0-dev.2146+9964f1c16 ### Steps to Reproduce and Observed Behavior Currently when running custom steps, all are run at the same time. If have a child process executing QEMU...
### Zig Version 0.11.0-dev.1975+e17998b39 ### Steps to Reproduce and Observed Behavior ```zig test "comptime alloc" { comptime { var buf: [1]u8 = undefined; var fba = std.heap.FixedBufferAllocator.init(&buf); var allocator =...
### Zig Version 0.10.0-dev.787+5aa35f62c ### Steps to Reproduce Run ```zig zig build-exe comptimeMiscompilation.zig ./comptimeMiscompilation ``` Inspect with an editor the binary `comptimeMiscompilation` File `comptimeMiscompilation.zig`: ```zig const std = @import("std"); const...
These are great permutations, and there's nothing wrong with them from a practical security perspective. However, both were competing in the NIST lightweight crypto competition. Gimli didn't pass the 3rd...
Currently errors from build.zig are a bit messy: to display an error message the convention is to call `warn` and then return a dummy value. This means that we have...
I opted to not spend too much time thinking about naming and syntax and just implement some badly needed debugging functionality. This is specifically needed for debugging the current non-determinism...
Inspired by #1291. ~~The current mechanism to obtain persistent mutable state at comptime is closure. I hate comptime closure with a passion that burns with the strength of a thousand...
### Zig Version 0.11.0-dev.1975+e17998b39 ### Steps to Reproduce and Observed Behavior ``` const std = @import("std"); pub fn main() !void { var a: i512 = 10; var b: i512 =...