• 0 Posts
  • 62 Comments
Joined 1 year ago
cake
Cake day: May 10th, 2024

help-circle










  • At the time of writing my comment I did not know about that other YouTuber and am glad I did not encounter them since.

    That said I still think that video was not “hateful garbage”. While I do not agree with everything she said, I do think she makes some valid points and in other parts she represents her subjective tastes in video games.

    Guilt by association is not itself a fallacy in all cases but here I think it unfair to not engage with the actual topic at all. This just furthers division instead of finding common ground.




  • 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));
    }