Subject: Re: [PATCH 3/3] rust: generate bindings via cbindgen

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 31 Oct 2025 07:05:34 +0100

On Thu, Oct 30, 2025 at 09:40:01PM +0000, brian m. carlson wrote:
> On 2025-10-30 at 09:50:36, Patrick Steinhardt wrote:
> > For now that Rust version is 1.49, and that's enforced by our CI. The
> > reason for this specific version is that it's the target version for the
> > gcc-rs folks, so it may help currently-unsupported platforms to get
> > support earlier.
> 
> As I mentioned a couple of times, gcc-rs uses the standard library of
> Rust 1.49 since that's what it's targeting, and as a result it will not
> support any platforms that Rust 1.49 didn't support since there isn't
> standard library support for those platforms in that version.  It's like
> trying to use a 2009 version of glibc and expecting it to work on
> RISC-V, which was released in 2010—it simply won't.
> 
> That's why I was very clear at the Contributor's Summit that the message
> we must send to platforms that do not have Rust is that they need to
> port LLVM and target Rust that way, since that is the surest path to
> success and to being able to get the necessary standard library changes
> for things to work properly.  gcc-rs may be a viable solution in the
> future, but it is not now, and absent substantial advances and an
> order-of-magnitude faster development, it is unlikely to meet that
> standard in time for Git 3.0.

It seems like there is good progress in gccrs, and it seems like the
speed is picking up a bit. They also recently said that it shouldn't be
that complicated to move to 1.80 once the 1.49 baseline is implemented,
so that makes me more amenable towards picking a more recent Rust version
[1].

> So given that, I would propose that we target Rust 1.63 in conjunction
> with my proposal.  I can send a patch to that effect later on.

I might've missed it, but why 1.63 in particular? Happy to defer the
discussion until you post the patch though. I mostly want to make sure
that we pick the version with intent.

Thanks!

Patrick

[1]: https://lwn.net/Articles/1040197/