|
|
|
|
|
by bennofs
2224 days ago
|
|
Having these "very special features" means that there are some things with are added to the language but rarely used. That means that you might come across code in a library that you don't understand, especially if you're not using those features in your own code. So, I think the argument that "very special features" shouldn't be counted toward language complexity/growth is wrong, IMO. I would even say that there needs to be even more focus on those features, since they tend to be not widely known, not familar, and often there is less documentation about them, so the likelyhood that they make code hard to understand is even higher. This is not to say that those features are unnecessary. I just don't think the justification "they are not what a pragmatic programmer will see" is good. |
|
- sugar for quality of life improvements that benefits everyone (like ? or NLL)
- new feature that lets you do something that couldn't be done before (like impl Trait or global allocators)
- new feature that removes a special case of the semantics that can be extrapolated from already present features (like associated consts and subslice patterns)