Jeff Burdges
Jeff Burdges
https://github.com/playXE/alloca-rs
If used without `unsafe` on slices, then isn't this less flexible than using `split_at_mut` in a loop or tree-like recursion? I suppose `multi_split_at_mut!` macro sounds handy. If used with `unsafe`...
There is a handy interface for this type of thing in https://github.com/burdges/lake/blob/master/Xolotl/src/sphinx/slice.rs that avoids annoying the borrow checkers: ``` impl &'heap [T] { let tmp: &'heap [T] = ::core::mem::replace(&mut *self,...
[`reserve`](https://github.com/burdges/lake/blob/master/Xolotl/src/sphinx/layout.rs#L381) and [`reserve_mut`](https://github.com/burdges/lake/blob/master/Xolotl/src/sphinx/layout.rs#L234) were designed for parsing binary data without allocations, btw.
I'd expect any safe interface you provide for slices reduces to being monotonic. And `split_at_mut` with perhaps a `replace` trick works for access patterns in which sequencing happens differently, like...
I meant safety reduces to the way slices store data. Yes, the `newoff` closure I wrote turns out rather simple. Yes, it's plausible optimizer might encounter trouble with more branches...
Yeah, I asked if `digest::core_api::BlockSizeUser` made sense when I attempted a refactor in https://github.com/arkworks-rs/algebra/pull/643, now very stale. I guess so.. As an aside, we still cannot afaik support field hashers...
It'll become interesting if build reproducibility plays some role here. I've no objection since reproducible build becomes super important for many reasons, but it's clearly a dramatic step. :) As...
Is `BigUInt: CanonicalDeserialize` used anywhere? It'd mess up serialization lengths if used anywhere. And `BigUInt` looks largely internal in https://github.com/search?q=repo%3Aarkworks-rs%2Falgebra%20BigUInt&type=code You found this fuzzing code we envision deploying? If unused,...
I think most code uses [`BigInt`](https://github.com/arkworks-rs/algebra/blob/master/ff/src/biginteger/mod.rs#L33) via `Fp`, including afaik all scalars and points. I'd expect the story goes: You'd want const generics to make a `BigInt` slightly bigger, so...