Ary Borenszweig

Results 414 comments of Ary Borenszweig

Here's a smaller code that reproduces the issues: ```noir global CONST: bool = false; fn main() { let _ = CONST; unsafe { func() }; } unconstrained fn func() {...

Ah, `used_globals` ended up with an incorrect value. We need to run DIE once more. But I think it would be better if DIE didn't compute that, and instead we'd...

The initial performance boosts were apparently because of a bug I introduced (incorrect handling of `eval_constant_binary_op` which did `eval_constant_binary_op(...).is_some()` and the compiler didn't tell me to update it because it...

@aakoshh Wow, thank you for looking into the fuzzer failures! 🙏 > The fact that this does not fail means that shl is not meant to fail at the moment....

Now one fuzz test fails with this: ``` DivisionByZero { lhs_id: Id(7), lhs: "-249012260880455945185240087545684409864", rhs_id: Id(8), rhs: "0" } ConstrainEqFailed { lhs: "u1 false", lhs_id: Id(0), rhs: "u1 true", rhs_id:...

I don't get that gate diff on my machine. On master: ``` +-----------------+----------+----------------------+--------------+ | Package | Function | Expression Width | ACIR Opcodes | +-----------------+----------+----------------------+--------------+ | regression_5252 | main |...

@mverzilli You are totally right with the above :-) It's like Crystal says "OK, I let you pass that `Array(Bar)` in this `Array(Foo)` restriction, as long as you use it...

Implementing `in` and `out` isn't trivial in Crystal. In C# and Kotlin the compiler checks that `T` only occurs in the return type or in the argument types. Since Crystal...

Also this code doesn't compile: ```noir use std::mem::zeroed; trait Other { fn other(self); } pub trait Trait where T: Other, { fn one(self) -> T; fn foo(self) { let x...