Yes, precisely. This is the literally what parent was talking about, "programming language abstractions [...] stacking on top of each other"
Yes, precisely. This is the literally what parent was talking about, "programming language abstractions [...] stacking on top of each other"
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.
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.