On Sat, Aug 23, 2025 at 2:13 AM Kristoffer Haugsbakk <kristofferhaugsbakk@xxxxxxxxxxxx> wrote: > > On Sat, Aug 23, 2025, at 05:55, Ezekiel Newren via GitGitGadget wrote: > > From: Ezekiel Newren <ezekielnewren@xxxxxxxxx> > > > > Trying to use Rust's Vec in C, or git's ALLOC_GROW() macros (via > > wrapper functions) in Rust is painful because: > > nit: s/git's/Git's/ > > > [snip] > > diff --git a/rust/interop/src/ivec.rs b/rust/interop/src/ivec.rs > > [snip] > > + // assert_eq!(vec.capacity, vec.slice.len()); > > Why are there three commented-out assertions? (all capacity/length) > > > + assert_eq!(expected, vec.length); > > + assert!(vec.capacity >= expected); > > + for i in 0..vec.length { > > + assert_eq!(default_value, vec[i]); > > + } > > [snip] > > -- > Kristoffer Haugsbakk Good catch, I should have removed those commented out lines. Looking back through the code I also missed calling std::ptr::drop_in_place() if the IVec shrinks. I'll apply those changes in the next version.