Subject: Re: [PATCH v3 02/15] xdiff: introduce rust

From: Sam James <[email-masked]>
Date: Sat, 23 Aug 2025 21:36:26 +0100

"brian m. carlson" <[email-masked]> writes:

> On 2025-08-23 at 18:30:26, Elijah Newren wrote:
>> I don't think that's fair.  A quick reminder on the history: There was
>> lots of excitement about potentially introducing Rust two years ago at
>> our virtual Git contributors conference.  Taylor formally proposed
>> adopting it on the mailing list a year and a half ago.  And at Git
>> Merge last year, among those in attendance, there was broad
>> significant interest in adopting Rust with unanimous support for
>> letting it move forward among those that were present (which, yes, we
>> know wasn't everyone).  And there's the three rounds so far of this
>> patch series.  At every discussion where you weren't present, someone
>> else would always bring up you and NonStop, and point out how you've
>> been a very positive long-term member of the Git community and how
>> Rust adoption would likely negatively affect you, which would be
>> regrettable.  We waited years to adopt Rust precisely (and I believe
>> solely) because of your objections.  Josh and Calvin even went the
>> route of making optional not-even-built-by-default Rust libraries
>> (libgit-rs and libgit-sys) when they wanted to add some Rust bindings.
>> If years of deference by other community members isn't considered
>> taking you seriously, I don't know what is.
>> 
>> I agree that it is disappointing that there isn't a clear way to both
>> gain the compelling advantages of Rust while also retaining the full
>> current extent of our widespread platform support.  It's doubly
>> unfortunate since you're such a positive contributing member of the
>> community.  But not allowing us to ever gain the advantages of Rust is
>> problematic too.  So, a decision has to be made, one way or the other.
>
> I think it's worth saying that I do appreciate your (Randall's) positive
> contributions as well and I would love some way to continue to support
> NonStop as we adopt Rust.  To be clear, I care deeply about portability:
> I have owned PowerPC, UltraSPARC, MIPS, and ARM hardware, and I test
> many of my personal projects on at least Linux, FreeBSD, and NetBSD.
>
> There is an alternative Rust compiler, mrustc[0], which is written in
> C++ and that I have played around with to see if it could meet our
> needs.

As far as I'm aware, mrustc is intended purely for having a bootstrap
path to rustc, not to be a full blown Rust implementation.

We discussed the other options in this area in
https://lore.kernel.org/git/[email-masked]/ and Patrick's
reply.

I still think it's dubious to move to something where there's only one
implementation (and an implementation that moves very fast) when
currently we go to pains to support even incomplete C compilers! See the
"test balloon" for 'bool'.

> [...]

sam