upvote
> The #1 thing for the Rust project to do is make Rust faster to compile.

#0 get rid of the orphan rule

reply
btw. That could actually make it slower to compile. The compiler uses the orphan rule to short circuit some checks IIRC.

Nevertheless, people in the project are trying to figuring out a way to relax the rule while still maintaining coherence, so this might happen some day.

reply
What's the orphan rule?
reply
Rust doesn't let you write an impl a trait that wasn't declared in your crate for a type that wasn't declared in your crate. At least one of the two needs to be locally declared. This makes splitting projects into multiple crates harder than it could be, but on the other hand it makes the crates ecosystem less brittle than it otherwise would be.

Some people propose relaxing this rule for "workspaces" (local projects with multiple crates that are not published individually). I haven't researched whether that would be technically feasible.

reply
If you built two impls, your compiler wouldn't know which to pick. Or to phrase it differently, if you wanted to be able to choose the right one, it wouldn't be 'orphan impls', it would be 'orphan impls plus some selection mechanism'. E.g. Scala implicits. And once you have Scala implicits, non-orphan impls probably start looking like a pretty sweet alternative!
reply
It absolutely should be relaxed for workspaces.

Workspaces are a great way to architect larger projects and monorepos, and they'd at least be internally consistent.

reply
Looks great. It's early but how well do they work? Comparable to FOSS apps yet?

Also it says egui is immediate mode, does that use a lot of {C,G}PU or have any other issues?

reply
Very cool projects! I agree, desktop apps are one of the areas that Rust beats Go. It's too bad though, since I feel anything with a heavy GUI like this can benefit from a rapid iteration cycle which is painful with Rust.
reply
Wow those are some nice applications! Thanks for sharing this!
reply
!!! WOW !!!
reply
These are great
reply