xlash123

joined 2 years ago

It actually is possible to segfault in safe Rust, although it is considered a bug. Proofs of concept are shown in this cve-rs crate.

If you want an explanation of why this happens, I recommend this video: https://youtu.be/vfMpIsJwpjU

Rust borrows a lot of it's design from functional programming languages like Haskell, which has its good and bad. You could also choose to implement this behavior iteratively like typical C programs, but that tends to be ugly in other ways.

Personally, I've grown fond of the functional style. You see it in other places too, like the higher order functions in JavaScript. What's good about them in Rust is you still get amazing performance due to zero-cost abstraction. Trying to implement it yourself would likely be slower, so use them any chance you get.