For what it's worth, if you enabled all the useful warnings you'll be warned about all the implicit casts that can cause problems in any modern C compiler. You'll have to specify three or four flags that say "yes I want all the warnings" but you'll know when you do dangerous casts.
Rust with its mandatory explicit casts is a lot less strict in this sense, your compiler won't complain because you decided to do casts yourself, which is why you should remember to be wary of simple casts every time you use them. Nothing wrong with casting constants and upcasting, but you have to double check because it's easy to introduce bugs this way.
If you want to make full use of Rust's safety features, you may also want to use checked numeric operations rather than the standard operators that may under/overflow.
Rust is a great tool for writing safer programs, but it won't defend you from many if not most DoS attacks if you're not careful
Not sure why this was downvoted. I’m an unabashed Rust apologist and everything in here is reasonable.
`as` casts are generally a code smell, but they’re sometimes the best (or only) way to accomplish a task. This can absolutely make it more challenging to identify correct and incorrect examples at a glance.
And Rust is awesome in that you can use explicit numerical operations that wrap, panic, saturate, etc on overflow. But there is no clippy lint (that I know of) to make sure you use them (which I would love).
Rust with its mandatory explicit casts is a lot less strict in this sense, your compiler won't complain because you decided to do casts yourself, which is why you should remember to be wary of simple casts every time you use them. Nothing wrong with casting constants and upcasting, but you have to double check because it's easy to introduce bugs this way.
If you want to make full use of Rust's safety features, you may also want to use checked numeric operations rather than the standard operators that may under/overflow.
Rust is a great tool for writing safer programs, but it won't defend you from many if not most DoS attacks if you're not careful