Remix.run Logo
dcrazy 6 hours ago

Does the removal of “experimental” now mean that all maintainers are now obligated to not break Rust code?

teekert 3 hours ago | parent | next [-]

Yeah I was wondering about that one angry bearded guy in that movie. He will be very upset.

bpavuk 27 minutes ago | parent [-]

I am missing some context, did not follow the Linux/Rust drama. which guy?

veidelis 3 hours ago | parent | prev | next [-]

Is rust code part of user space?

dxroshan 20 minutes ago | parent [-]

Projects like GNOME are increasingly using Rust.

mort96 3 hours ago | parent | prev [-]

No maintainer is obligated to not break any part of Linux other than the user space API, there are no stable in-kernel APIs

simonask 2 hours ago | parent | next [-]

What they mean is that the Linux kernel has a long-standing policy to keep the whole kernel compilable on every commit, so any commit that changes an internal API must also fix up _all_ the places where that internal API is used.

While Rust in the kernel was experimental, this rule was relaxed somewhat to avoid introducing a barrier for programmers who didn't know Rust, so their work could proceed unimpeded while the experiment ran. In other words, the Rust code was allowed to be temporarily broken while the Rust maintainers fixed up uses of APIs that were changed in C code.

Imustaskforhelp 2 hours ago | parent [-]

So does this mean that the C developers might need to learn Rust or cooperate more with the rust developer team basically?

eru an hour ago | parent | next [-]

I guess in practice you'd want to have Rust installed as part of your local build and test environment. But I don't think you have to learn Rust any more (or any less) than you have to learn Perl or how the config script works.

As long as you can detect if/when you break it, you can then either quickly pick up enough to get by (if it's trivial), or you ask around.

cogman10 18 minutes ago | parent | prev | next [-]

Depends on the change being made.

If they completely replace an API then sure, probably.

But for most changes, like adding a param to a function or a struct, they basically have to learn nothing.

Rust isn't unlike C either. You can write a lot of it in a pretty C like fashion.

bmicraft an hour ago | parent | prev [-]

That's exactly the original question.

dwattttt 2 hours ago | parent | prev [-]

There is, I understand, an expectation that if you do make breaking changes to kernel APIs, you fix the callers of such APIs. Which has been a point of contention, that if a maintainer doesn't know Rust, how would they fix Rust users of an API?

The Rust for Linux folks have offered that they would fix up such changes, at least during the experimental period. I guess what this arrangement looks like long term will be discussed ~now.