4 ms·
> Conceptually it's "just" the ability to take one existing concept, X, and apply it to another existing concept, Y. Yes, precisely. This is the literally what
by capableweb 4y ago
> Conceptually it's "just" the ability to take one existing concept, X, and apply it to another existing concept, Y.
Yes, precisely. This is the literally what parent was talking about, "programming language abstractions [...] stacking on top of each other"
- necubi 4y agoAs opposed to creating completely different ways of doing things from the existing patterns? The parent was echoing the common complaint (exclusively from people who don't actually use rust, in my experience) that rust is getting "too many features." But as others in this thread has pointed out, features like GATs actually make the language simpler, because they're removing weird (and to a new user, unexpected) restrictions on existing features. This will then unblock removing other surprising restrictions, like the inability to use async functions in traits. Rust takes the philosophy that it's better to do hard work in the compiler in order to make the language simpler and easier for users. That's what's happening here.
- AeiumNE 4y agoI thought it was doing hard work in the compiler to make the binary safe for processors.
- deleted 4y ago[deleted]
- stusmall 4y agoTry thinking of it less as a new abstraction and more of removing a restriction from a previous abstraction. It is pretty easy to run into a situation where you want them without even knowing what the concept of a GAT is. Rust gets a lot of unfair criticism of "adding new stuff" when a lot of what is "added" is actually removing restrictions and making it where a developer has less to learn.