I'm not sure I'd want it removed, but generics tend to be pretty horrific looking to people new to the language.
An example:
fn largest<T>(list: &[T]) -> T {
let mut largest = list[0];
for &item in list.iter() {
if item > largest {
largest = item;
}
}
I'm sure experienced Rust devs look at that and say it's fine, but that's definitely a hurdle for new developers.You need to specify the properties of T that you use. So, that first line should be:
fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
https://tomtongue.com/docs/rust-wk-20.html#trait-bounds
Can you name a specific feature you want removed from Rust?