No, no, no. It’s the end of times. I can hear the trumpets of the apocalypse.
Now Valve needs to release half life 3 and the world as we know it will truly perish.
Jokes aside. I hope this means work on a UI overhaul can seriously begin.
No, no, no. It’s the end of times. I can hear the trumpets of the apocalypse.
Now Valve needs to release half life 3 and the world as we know it will truly perish.
Jokes aside. I hope this means work on a UI overhaul can seriously begin.
The only way to make Rust segfault is by performing unsafe operations.
Challange accepted. The following Rust code technically segfaults:
fn stackover(a : i64) -> i64 {
return stackover(a);
}
fn main() {
println!("{}", stackover(100));
}
A stack overflow is technically a segmentation violation. At least on linux the program recives the SIGSEGV signal.
This compiles and I am no rust dev but this does not use unsafe
code, right?
While the compiler shows a warning, the error message the program prints when run is not very helpfull IMHO:
thread 'main' has overflowed its stack
fatal runtime error: stack overflow
[1] 45211 IOT instruction (core dumped) ../target/debug/rust
Edit: Even the compiler warning can be tricked by making it do recusion in pairs:
fn stackover_a(a : i64) -> i64 {
return stackover_b(a);
}
fn stackover_b(a : i64) -> i64 {
return stackover_a(a);
}
fn main() {
println!("{}", stackover_a(100));
}
Can you get apocalypse insurance? I think I’m in the market for it.