Date: Thu, 29 Aug 2024 23:07:01 +0200 From: Emmanuel Vadot <manu@bidouilliste.com> To: Alan Somers <asomers@freebsd.org> Cc: Shawn Webb <shawn.webb@hardenedbsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: A Demo of rust-in-base Message-ID: <20240829230701.9790a7957f4dd6fc3c511d22@bidouilliste.com> In-Reply-To: <CAOtMX2hvjegNVeZhwTwM3s=6H1Z_dzSuhfOroJq3nZQCSfJwWg@mail.gmail.com> References: <CAOtMX2gdt8xYyLR3peYWhov-161-6d7%2B8L6TiHCCyw1NQyspXw@mail.gmail.com> <hraulhvnvyy5riur63iy53ed6m276prpw577qyg4xpm4xkyxmm@zpvdqgpvpsxv> <CAOtMX2hvjegNVeZhwTwM3s=6H1Z_dzSuhfOroJq3nZQCSfJwWg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 29 Aug 2024 14:55:10 -0600 Alan Somers <asomers@freebsd.org> wrote: > On Thu, Aug 29, 2024 at 2:21?PM Shawn Webb <shawn.webb@hardenedbsd.org> w= rote: > > > > Hey Alan et al, > > > > I apologize for the silence on my end. It has been a busier two months > > than anticipated. In that time, I've been entertaining some thoughts > > on Rust in base support. ${LIFE} is starting to calm down again, and I > > do believe I'll be able to start the research in time in September. I > > will be splitting my free time between this and studying for my OSCP > > cert. > > > > So, to those thoughts, in list form (in no particular order): > > > > 1. Use of Rust compiler toolchain support will be for userland > > components in an opt-in fashion. Meaning, all userland components > > written in Rust will be optional. > > 2. It does not make sense to perform a vendor import of the Rust > > compiler toolchain and standard libraries. All Rust code in the src > > tree must be built from an external toolchain. > > 3. I believe the notion of an external toolchain could be abstracted > > such that we can support any optional userland component written in > > a language supported by that external toolchain. This would imply > > that other alternative languages could be supported with minimal > > work (Zig, TypeScript, Python, Java, etc.) > > 4. We could provide auto-detection mechanisms for determining which > > external toolchains are available, their language support, etc. The > > initial proof-of-concept would likely be limited to Rust to save on > > time and complexity. > > 5. As the work matures, and perhaps as a requisite for eventual > > inclusion, we could land support for more than Rust. This might be > > a step too far, but hey, it's one of the thoughts I had. > > 6. So all of this wrapped up means that: > > A. This is NOT a call to rewrite everything in Rust. This work will > > only permit NEW, OPTIONAL components to be written. > > B. Other languages/toolchains/ecosystems could be supported, not > > just Rust. > > C. Initial focus is on userland components. Rust in the kernel is > > out of scope for this initial proof-of-concept. > > D. I would like to see Rust in the kernel. That would be a good > > next area of focus once userland support reaches some level of > > maturity. > > > > My first goal will be to get a better understanding of > > src.git/Makefile and src.git/Makefile.inc1. As I study that, I'll also > > study your work, Alan. I really appreciate the time you have taken. I > > might reach out to you and Warner directly for further questions. >=20 > Relying on an external toolchain and allowing for future external > toolchains other than Rust sounds like a really good plan. > Conceivably we could even ditch our Lua import and use the same > mechanism for that (but please, save Lua discussion for a separate > flame war ;) ). If you're saying that it means that you've never looked at how lua works. > I anticipate that the next big decisions will be > "what components are so important that they musn't require an external > toolchain?" and "how much cargo crate bloat is too much?". But we can > cross those bridges when we come to them. I look forward to seeing > your work, and please don't hesitate to ask for help. >=20 > -Alan >=20 Isn't the next big decision "How to handle external rust toolchain" ? Because without this solved everything all you rust lovers said in this (and previous) thread is irrelevant. Cheers, --=20 Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20240829230701.9790a7957f4dd6fc3c511d22>