• TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    That’s not an alternative, it’s removing let-else entirely. It’s equivalent to this:

    let i = if let Some(i) = opt_number {
        i
    } else {
        return 0;
    };
    

    let-else is specifically a feature that allows you to use a refutable pattern to deconstruct a value by providing a diverging else branch.

    • soc@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 days ago

      Removing let-else is the whole point of the linked article series:

      Being able to do to everything Rust does, but without Rust’s zoo of if-then-else, match, if-let, let-else etc.