Hacker News new | ask | show | jobs
by charcircuit 394 days ago
No, it's not. It's false advertising and lifting an unsafe that high in the call stack is dangerous and a sign of poor code quality.

The point of advertising no unsafe in the readme is so that people do not have to worry if the author handled unsafe correctly.

4 comments

No, no. Rust's unsafe is fine. After all unsafe is not a problem because it is directly obvious just by looking at the source of your 200 dependencies. If you still have doubts you can make sure everything it is ok simply by writing "SAFETY" next to it to point out that it is safe (btw: not having this is a serious omission in the yes-rs project). And anyway, the compiler still does basically almost all checks! This rest is entirely obvious in Rust. For example, there can never be a subtle exception-related issue that make this difficult to analyze because in Rust it is called panic. And if there is still should be a mistake, then this does not count because it was not the fault of Rust but yours. (This is totally different to C where even the most-expert programmer can never know when he is going to free memory or doing pointer arithmetic. This could literally occur completely surprisingly in every line of code!)
Rust uses AI to ensure that C/C++ programmer mistakes do not happen in unsafe blocks. "unsafe" is a misnomer.
Without it, we can't use the quantum enhanced string, which is safe because it's written in Rust.
It's written using unsafe Rust which means that the compiler will not be able to verify that it is safe. It's not guaranteed to be safe just because it is written in Rust. Please understand this, the author of this repo is spreading incorrect information.
The difference between a zealot and an evangelist is the ability to understand when someone is making a joke. I’ll let you figure out how you’re coming across here on your own as a growth exercise.
I cannot tell if parent is making a joke, or is dead serious. They won.
You seem to be saying that Rust code can be unsafe, perhaps you're thinking of the profoundly unsafe and deprecated C or C++ languages?
I recommend reading through this section of the The Rust Programming Language book to learn more about the existence of Unsafe Rust which is a part of Rust and not a different language like C or C++.

https://doc.rust-lang.org/book/ch20-01-unsafe-rust.html

The article says it right there: unsafe is used to give you unsafe superpowers. This is important for the quantum entanglement that the string uses. Unsafe brings the power (superpowers enabled by the compiler), while the Rust compiler ensures everything is safe. Rust.
>while the Rust compiler ensures everything is safe. Rust.

This is where you are mistaken. Quoting the book:

>Be warned, however, that you use unsafe Rust at your own risk: if you use unsafe code incorrectly, problems can occur due to memory unsafety, such as null pointer dereferencing.

With unsafe rust the compiler no longer ensures everything is safe and it is up to the programmer to ensure that it is.

My friend on the off chance that you truly don’t see it: they’re teasing you
Rust community is not a place for such behaviour, they are both pretty serious in their opinions
I cannot tell if he's playing along or genuinely this ASD.
But what about the quantum compiler?

  https://github.com/jedisct1/yes-rs/blob/main/src/main.rs#L1233
I think you missed the joke