Re: [PATCH v2 0/5] rust: generate bindings via cbindgen
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Oct 30, 2025, 09:50 UTC
- Message-ID
- <aQM0-IwB3e4t7YKE@pks.im>
- In-Reply-To
- <CAH=ZcbAC_u88_cD33bRxAuAPhJh02zNOHAVnkhxthncDFdZOOA@mail.gmail.com>
On Tue, Oct 28, 2025 at 01:37:00PM -0600, Ezekiel Newren wrote:
Show 37 quoted lines
> On Fri, Oct 24, 2025 at 3:51 AM Patrick Steinhardt <ps@pks.im> wrote: > > > > Hi, > > > > this small patch series introduces support for cbindgen(1). This tool is > > used to generate C headers from `extern "C"` blocks so that Rust code > > can easily be called from C code. > > > > For now, the only use case is to verify that our varint reimplementation > > matches the C implementation. But later on this can and will be used to > > call Rust-specific features from C, as well. > > > > The topic is built on top of c54a18ef67 (The twenty-second batch, > > 2025-10-22) with ps/ci-rust at e509b5b8be (rust: support for Windows, > > 2025-10-15) merged into it. > > > > Changes in v2: > > - Take some of the pieces from Ezekiel's "cbindgen.toml" file. I have > > not yet taken `usize_is_size_t`, as that option requires cbindgen > > v0.16.0, which is not available on Ubuntu 20.04. > > - Backfill missing jobs for GitLab CI. > > - Fix CI failures on Alma Linux 8 because cbindgen isn't available > > there. > > - Link to v1: https://lore.kernel.org/r/20251023-b4-pks-rust-cbindgen-v1-0-c19b61b03127@pks.im > > I really think that this patch series should include migrating to a > Cargo Workspace. That'll mean moving /Cargo.toml and /src into > gitcore/ and creating a new top-level /Cargo.toml with the following > content: > [workspace] > members = [ > "gitcore", > ] > resolver = "2" > > Along with the other cascading refactor changes needed to make this > work. Let's do this now while it's still easy.
I simply think that cbindgen and workspaces are quite unrelated to one another for now. So an alternate suggestion: once this patch series here lands we could introduce workspaces in the subsequent patch series. I think that's still early enough, and this patch series here shouldn't cause significant additional churn.
In any case, I'd prefer if you wrote that patch series to introduce workspaces. I don't feel like I have enough experience with them to be able to argue properly why we want to have them.
Does that work for you?
Thanks!
Patrick