Re: The Case for Rust (in the base system)

From: Joe Schaefer <joesuf4_at_gmail.com>
Date: Sun, 04 Aug 2024 00:54:47 UTC
Have fun with the less than zero backwards compatibility every new quarter.

On Sat, Aug 3, 2024 at 8:42 PM Theron <theron.tarigo@gmail.com> wrote:

> On 8/3/24 13:36, Warner Losh wrote:
>
> We already have clang and gcc external tool chains, so there's a proven
>
> mechanism for that. But there's not a good notion of the concept "I have
> a rust compiler" or "I depend on rust". And there's no concept of crates
> or similar that rust programs use, but that will be one thorny area that
> we'll have to design for. Do we just pull them in and junk any notion of
> a reproducible build for these components into the future (since any crate
> can go away), or do we have a way to build up our own set of crates
> in the tree that the optional components depend on. How do we do change
> management on that if we have multiple programs that depend on a crate
> that's updated? how do we keep things fresh while not having update
> cascades be too burdensome a task. How does this tie into pkgbase?
>
> These are the things to think about. We don't need to solve all of
> them, but the Rust ecosystem is quite a bit different than the C ecosystem
> in the details of a number of these points, so we have to address them
> if we want to use Rust in base with the same traits as all the other bits
> in base today (or we need to have a thoughtful discussion on paradigm
> shift and settle on that). To my thinking, pkgbase might be a good way
> to segregate crates that are build from the base tree and express
> dependencies
> on optional components that use it, and have the ultimate dependency
> be a pkg from ports.
>
> These questions and design points aren't hard and aren't designed to
> block anything, but a bare minimum of what we need to articulate is the
> vision for these components. Likely a design document that spells these
> out in some degree of detail (or that we punt in this phase) would be good
> as well. I can help with that as well.
>
> Warner
>
>
> Rust must be adapted to the established practice of keeping base
> dependencies in-tree, not the other way around.  Whatever shift of thinking
> is required within Rust for cooperating with this kind of stability within
> a project will be good for the Rust ecosystem as well.
>
>
> Theron
>