• bi_tux@lemmy.world
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    3 months ago

    RWIIR!!!

    edit: here, I did it for you:

    use std::*;
    
    static mut sucked: bool = false;
    
    fn main() {
            unsafe {
                    check_sucked();
            }
            println!("Kris has been sucked is {}", sucked)
    }
    
    unsafe fn check_sucked() {
            if !sucked {
                    suck();
            }
    }
    
    fn suck() {
            sucked = true;
    }
    

    edit 2: fixed it

        • zea
          link
          fedilink
          arrow-up
          6
          ·
          3 months ago

          If you made it static, sure, but right now you’re living compiler error

          • bi_tux@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            3 months ago

            oh well, I’m just starting to learn the language and come from java, so I thought: wait, it can’t be static

            • zea
              link
              fedilink
              arrow-up
              3
              ·
              3 months ago

              const is more like C++ constexpr, but static is similar to static from C: it’s a variable that lives outside any scope. Of course, that means the same static can be accessed by multiple threads, so writing to a static is unsafe (except for types like Mutex, you can safely use those to write, but your static won’t be declared mut)

    • Smorty [she/her]
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      I personally would have matched the sucked… Maybe printed some lovely message about being content or somezhin