Re: C aggregate passing (Rust kernel policy)

Miguel Ojeda
2025-02-27T17:59:05Z

On Thu, Feb 27, 2025 at 6:34 PM Ventura Jack <venturajack85@gmail.com> wrote:
>
> I have seen some Rust proponents literally say that there is
> a specification for Rust, and that it is called rustc/LLVM.
> Though those specific individuals may not have been the
> most credible individuals.

These "Some say..." arguments are not really useful, to be honest.

> A fear I have is that there may be hidden reliance in
> multiple different ways on LLVM, as well as on rustc.
> Maybe even very deeply so. The complexity of Rust's
> type system and rustc's type system checking makes
> me more worried about this point. If there are hidden
> elements, they may turn out to be very difficult to fix,
> especially if they are discovered to be fundamental.

If you have concrete concerns (apart from the ones you already raised
so far which are not really applicable), please explain them.

Otherwise, this sounds a bit like an appeal to fear, sorry.

> You mention ossifying, but the more popular Rust becomes,
> the more painful breakage will be, and the less suited
> Rust will be as a research language.

Rust is not a research language -- I guess you may be including
features that are not promised to be stable, but that means even C
would a research language... :)

> Using Crater to test existing Rust projects with, as you
> mention later in your email, is an interesting and
> possibly very valuable approach, but I do not know
> its limitations and disadvantages. Some projects
> will be closed source, and thus will presumably
> not be checked, as I understand it.

Well, one advantage for open source ;)

> Does Crater run Rust for Linux and relevant Rust
> kernel code?

We do something better: every PR is required to build part of the Rust
kernel code in one config.

That does not even happen with either Clang or GCC (though the Clang
maintainer was open to a proposal when I talked to him about it).

Cheers,
Miguel