top | item 43381925

(no title)

datadeft | 11 months ago

I thought that the point of Rust is to have safe {} blocks (implicit) as a default and unsafe {} when you need the absolute maximum performance available. You can audit those few lines of unsafe code very easily. With C everything is unsafe and you can just forget to call free() or call it twice and you are done.

discuss

order

steveklabnik|11 months ago

> unsafe {} when you need the absolute maximum performance available.

Unsafe code is not inherently faster than safe code, though sometimes, it is. Unsafe is for when you want to do something that is legal, but the compiler cannot understand that it is legal.

datadeft|11 months ago

True, however I only saw this happens to achieve max perf. I have very limited experience so this is confirmation bias from my end.

WD-42|11 months ago

It’s not about performance, it’s about undefined behavior.