3 ms·
Rust has currently no formal specification, so what would you use as an arbiter? Also the article says otherwise > The project wants to make sure that it does
by KolmogorovComp 3y ago
Rust has currently no formal specification, so what would you use as an arbiter?
Also the article says otherwise
> The project wants to make sure that it does not create a special "GNU Rust" language, but is trying instead to replicate the output of rustc — bugs, quirks, and all
- lambda 3y agoYou use the same process as for deciding if changes to rustc are compliant or not; the judgement of the language and compiler teams. And running into these kinds of questions, both in a single project that evolves over time (rustc) and a separate project, help to feed information back into what you need for a formal specification; which is something that is being planned out. Having a second implementation can help find these areas where you might need to be narrower or broader in your specification, in order to clarify enough for it to be implementable or broaden it enough to accommodate reasonable implementation differences. They are not trying to diverge in language implementation, but there will always be simple compiler bugs, which may crop up in one implementation but not another. For instance, some LLVM optimization pass may miscompile some code; gccrs wouldn't necessarily be trying to recreate that exact bug. I think that "bugs, quirks, and all" really means that they aren't trying to fix major limitations of rustc, such as introducing a whole different borrow checker model which might allow some programs that current rustc does not. They're trying to fairly faithfully recreate the language that rustc implements, even if some aspects might be considered sub-optimal, but they aren't going to re-implement every ICE and miscompilation, those are places where there could be differences.
- KolmogorovComp 3y agoI agree with you it has benefits, what I’m wondering about is if not more bugs (though not the same ones) would be fixed by contributing directly to rustc compared to the massive effort of building a new compiler.
- Narishma 3y agoIt's about finding those bugs in the first place. Working on a different implementation is one way of doing that.