I'm not sure why people are so deeply scared. these are all pretty neat features for people who will need them (off rip seemingly mostly in the embedded world). It's not like the inclusion of these forces you to use them — I've never had to deal with unsafe rust for shipping web stuff, and I highly doubt I'd have to deal with most of these. For modeling's sake it would be nice to have pattern types and view types, I can see them being useful

People will push this crap into production codebases and link to these articles when you say you don’t want complexity. Best way to manage is to not make it possible, like go.

You indirectly deal with this kind of thing when compiling web server code too. It compiles super slow and can have weird errors. This is because the people who build the web stack in rust used a million traits/generics/macros etc.

Even if you look at something like an io_uring library in rust, it uses a bunch of macros instead of just repeating 3 lines of code.

3 lines of code that may need to change is much more complex than a macro that signals intent.

https://docs.rs/io-uring/latest/io_uring/opcode/index.html

You can click the source code link and read the code here. Macros aren’t needed at all if every single operation isn’t a different type.

This was the exact same argument used to push new c++ features and look where the language is now.

...a far better place than 2011.

you mean better than ever?