Subject: Re: [RFC PATCH 6/6] contrib/cgit-rs: add a subset of configset wrappers

From: Junio C Hamano <[email-masked]>
Date: Wed, 04 Sep 2024 14:08:35 -0700

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

> The C-style types have long been available in libc and other crates that
> are designed to work with C FFI, and as a practical matter you do need
> to use that crate somewhere in your stack (or reimplement it) to call
> functions in libc and the other core system libraries, so you're not
> really lacking those types.

Glad to know that the feature we need was already there.  So, it is
just the interface was in flux when they worked on the version
Debian happens to ship right now, I guess.

> They're also available in the `std::os::raw` module as of Rust 1.1; it's
> just that as of Rust 1.64, they're in `std::ffi` and `core::ffi` as
> well, mostly to help embedded systems (which don't have `std`, and thus,
> don't have `std::os::raw`).  Using `std::os::raw` or `libc` should be
> fine for Git, since we're not targeting operating system kernels,
> bootloaders, or firmware such as UEFI (I hope).

Yup, as long as we have a clean migration path (like the one you
showed Calvin in your other message in this thread), and use of a
slightly older way will not immediately be deprecated in a newer
version of Rust, then we should be fine going forward.

Thanks.