

The implicit return is perhaps the most dubious of them. I don’t mind it for simple functions, but they are not so good in anything large and with multiple return sites. Even more so when developers choose to implicitly return 4 chained method calls inside a closure with else cases.
But the rest aren’t really sins, they are mostly new or different concepts or ways to do something. And if there is a sin, it’s largely because the language itself has a complexity larger than others.
Taking my own examples here, lambdas are just fine, but the move semantics are cumbersome to deal with. But we need to do it some way, to indicate that a value is actually being moved into the closure. Maybe there are better ways and they make into the language in the future.
Conditional values and let statements and such is a good consequence of Rusts design choice with returning Results or Option types. Just because it’s different doesn’t make it a sin. Just takes time to learn the right way. I think most come from an exception based language, and that has a differnet code flow than what Rust has.
Lifetimes are hard though, and I feel a lot of the introduction is made excessively hard with the simple naming. It’s as of every programming tutorial used single letter variable names. Lifetimes isn’t something I’m that good with either, mostly because I haven’t had to use that complexity yet.
Peguots(car brand) app requires between 8 and 16 characters, no repeating characters, and that it contain 4 of the following: uppercase letter, lowercase letter, number, a special character in this list @$!%*?&_- ;
You’d think that’d be fine, but no. It took me several tries to generate a password that complied, even after limiting to only valid characters and a length of 16. I got the feeling there’s an extra rule not shown,maybe lost in translation. In Norwegian it literally says “no repeat or successive characters” making it sound like I can only use a letter once, but thankfully not.
Pure torture. And the app is so shit I get logged out often, and auto fill with my password manager does not work in that app. Pressing login also fails half the time.