Participants debate whether Zig offers distinct advantages over C or if its benefits can be replicated through modern C tooling and discipline. Strong disagreement exists regarding the suitability of Zig for production systems due to its pre-1.0 status, limited developer resources, and recent critical bugs in library rewrites.
108 readable replies · Supporting reply 1 · Supporting reply 2 · Supporting reply 3 · Supporting reply 4ityonemo
clr
Zig2025–2026
ityonemo / clr
clr
Checker for Lifetimes and other Refinement types
10Distinct people
41Mentions
0Explicit recommenders
281GitHub stars
What to know before exploring
What it is
Checker for Lifetimes and other Refinement types
GitHub
Where it is used
No documented product use was verified in the last source check.
What people are saying
No recommendation phrase was found in the indexed comments.
No classified warning is attached to this page. Read the discussions before treating silence as approval.
Also in these discussions
No other repository is repeatedly linked in the same discussions.
This week on Hacker News
Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:01:16 PM UTC.
Mentions over time
HN mentions by month41 dated mentions
Observed mentions: 2025-02-03 21:58:46 UTC to 2026-10-05 18:56:29 UTC.
Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.
View mention counts and date ranges
| Period | Start (UTC) | End (exclusive, UTC) | Mentions | Submissions | Comments |
|---|---|---|---|---|---|
| Feb 2025 | 2025-02-01 00:00:00 UTC | 2025-03-01 00:00:00 UTC | 7 | 1 | 6 |
| Mar 2025 | 2025-03-01 00:00:00 UTC | 2025-04-01 00:00:00 UTC | 2 | 0 | 2 |
| Apr 2025 | 2025-04-01 00:00:00 UTC | 2025-05-01 00:00:00 UTC | 1 | 0 | 1 |
| May 2025 | 2025-05-01 00:00:00 UTC | 2025-06-01 00:00:00 UTC | 1 | 0 | 1 |
| Jun 2025 | 2025-06-01 00:00:00 UTC | 2025-07-01 00:00:00 UTC | 1 | 0 | 1 |
| Jul 2025 | 2025-07-01 00:00:00 UTC | 2025-08-01 00:00:00 UTC | 0 | 0 | 0 |
| Aug 2025 | 2025-08-01 00:00:00 UTC | 2025-09-01 00:00:00 UTC | 0 | 0 | 0 |
| Sep 2025 | 2025-09-01 00:00:00 UTC | 2025-10-01 00:00:00 UTC | 0 | 0 | 0 |
| Oct 2025 | 2025-10-01 00:00:00 UTC | 2025-11-01 00:00:00 UTC | 0 | 0 | 0 |
| Nov 2025 | 2025-11-01 00:00:00 UTC | 2025-12-01 00:00:00 UTC | 0 | 0 | 0 |
| Dec 2025 | 2025-12-01 00:00:00 UTC | 2026-01-01 00:00:00 UTC | 4 | 0 | 4 |
| Jan 2026 | 2026-01-01 00:00:00 UTC | 2026-02-01 00:00:00 UTC | 1 | 0 | 1 |
| Feb 2026 | 2026-02-01 00:00:00 UTC | 2026-03-01 00:00:00 UTC | 3 | 0 | 3 |
| Mar 2026 | 2026-03-01 00:00:00 UTC | 2026-04-01 00:00:00 UTC | 4 | 0 | 4 |
| Apr 2026 | 2026-04-01 00:00:00 UTC | 2026-05-01 00:00:00 UTC | 0 | 0 | 0 |
| May 2026 | 2026-05-01 00:00:00 UTC | 2026-06-01 00:00:00 UTC | 2 | 0 | 2 |
| Jun 2026 | 2026-06-01 00:00:00 UTC | 2026-07-01 00:00:00 UTC | 3 | 0 | 3 |
| Jul 2026 | 2026-07-01 00:00:00 UTC | 2026-08-01 00:00:00 UTC | 7 | 1 | 6 |
| Aug 2026 | 2026-08-01 00:00:00 UTC | 2026-09-01 00:00:00 UTC | 0 | 0 | 0 |
| Sep 2026 | 2026-09-01 00:00:00 UTC | 2026-10-01 00:00:00 UTC | 2 | 0 | 2 |
| Oct 2026 | 2026-10-01 00:00:00 UTC | 2026-11-01 00:00:00 UTC | 3 | 1 | 2 |
What Hacker News says
7 sourcesTHthrowawaymaths·Feb 21, 2025
> The compelling reason is that it's the only way that has worked
because it's hard enough that people don't try. and then they settle for rust. this is what i mean by "rust sucks the air out of the room".
however, its clearly not impossible, for example this authors incomplete example:
https://github.com/ityonemo/clr
> That would mean waiting at least 10 years,
what if it's not ten years, what if it could be six months? is or worth paying all the other downstream costs of rust?
youre risking getting trapped in a local minimum.
In Greg K-H: "Writing new code in Rust is a win for all of us"> We don't have a Rust-killer language yet.
The type-system analysis of Rust is smart, but not restricted to the language per se, see https://github.com/ityonemo/clr. One merely has to have proper namespacing and necessary type info from generic code to do annotations and solve them. These things are solved in Rust via trait system.
Retroactively patching C to have namespaces will not work and same holds for generics, meaning concrete how to attach lifetimes to generic code.
> Zig went in a different direction.
There is stuff cooking for debugging comptime and better than lsp infos, but this is only wip and hearsay. Might be enough to write external static analysis or not.
Correct me, if wrong etc.
In Asahi Linux lead developer Hector Martin resigns from Linux kernelin principle static checking of memory safety in zig could be a thing, but there are some minor obstacles:
https://github.com/ityonemo/clr
In Zig Guideyes but by the time you're using miri, why not just run zig with a separate static checker that does all the memory safety parts?
https://github.com/ityonemo/clr
In Zig; what I think after months of using itprotection from returning stack pointers seems to be detectable with static analysis of zig AIR.
https://github.com/ityonemo/clr
In Roc rewrites the compiler in Zigeven so it seems like it would eventually be possible to do more safety analysis for zig, if not in the compiler itself:
https://github.com/ityonemo/clr
In Roc rewrites the compiler in ZigShow HN: CLR, POC borrow checker for Zig
23 points · Open discussion