On 2024-08-16 at 11:39:24, Patrick Steinhardt wrote: > That to me raises an important question: who is the one fixing breakage? > Hypothetically speaking, if I continue with my refactoring spree to drop > `the_repository`, do I also have to fix the Rust bindings that I break > as a consequence? If we're testing it in CI, then you are responsible for not breaking it, even if you don't use it, just as I am responsible for not breaking Windows, even though I don't use that platform. That's typically been the policy here and elsewhere. That being said, there are two things I'd like to point out. First, your work to drop the implicit `the_repository` is very useful, because Rust code implicitly requires thread safety as part of the language, and you will be making the dependency on the object explicit so Rust can guard against concurrent access. I expect that you will end up breaking very few endpoints with those series because we can't really expose endpoints with implicit global thread-unsafe state (such as `the_repository`) in Rust anyway except as `unsafe`. Second, I and others will probably be happy to help if you have questions or need assistance fixing bindings. I've done a decent amount of work in Rust, including mostly porting a service at $DAYJOB from C to Rust (the one that serves Git requests, no less), so I'm familiar with a lot of those kinds of problems, as I'm sure others are on the list as well. -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA
Attachment:
signature.asc
Description: PGP signature