Hacker News new | ask | show | jobs
by dnautics 12 days ago
no, it would not. If you do not believe me, you should try out the repo.
1 comments

the architecture doesn't make sense. MIRI doesn't perform static analysis on MIR. It is, as the name says, an interpreter. The borrow checker is entirely different from miri.

Rust's borrow checker requires lifetime annotations. Zig code doesn't contain any such annotations. How does your design handle this?

1. it is possible to do code annotations in zig even though i havent implemented it in this iteration of clr (the first poc demonstrated this). i want to see how far i can get without them.

2. let's take double free (easiest to explain).

you dont have to tag ownership, you can be agnostic about who should free, and merely report if two nondisjoint code paths attempt to free the same memory.

Re 1: that doesn't help with Zig code that doesn't use your annotations. In contrast, Rust forces all code to use annotations.

Re 2: that still looks to me to be a runtime check.