News for hackers. Stuff that matters.
Re:Speeding Up the Rust Compiler by jashmatthews on Wednesday December 11, 2019 @11:01AM (#21763677)
Validation would be an expected Error and handled by returning an Err() rather than using unwrap() or expect().

.expect(format!("{} is a directory - file expected")) gives exactly the behaviour you've described for a CLI tool.

Graceful shutdown means releasing locks, deleting PID files etc when encountering an unrecoverable error. Not just any error.

Re:Speeding Up the Rust Compiler by EugeneOZ on Wednesday December 11, 2019 @12:12PM (#21764476)
> Validation would be an expected Error and handled by returning an Err() rather than using unwrap() or expect().

When language allows you to make all errors "expected", it's really stupid to don't use it. Only reason is laziness.

Re:Speeding Up the Rust Compiler by jashmatthews on Wednesday December 11, 2019 @01:28PM (#21765294)
I don't understand what you're trying to say here. Laziness has nothing to do with it. Returning a Result vs using .expect("this should never be missing or an error") is about whether your program can continue after this error.
Re:Speeding Up the Rust Compiler by EugeneOZ on Wednesday December 11, 2019 @02:57PM (#21766145)
No, panicking is not a correct way to handle programm execution, it's just "I don't want to care about this possible error case right now", nothing more. I gave you 2 examples and you preferred to ignore them or say "it's ok". Let's agree to disagree, I will never understand people who are too lazy to allow panicking in their code and say "works as intended".

Many languages don't have Result types to return so there you can't do much sometimes to prevent data corruption or something worse. But in languages where you can return more than just "false", it's not acceptable.