•  TehPers   ( @TehPers@beehaw.org ) 
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 个月前

    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   ( @soc@programming.dev ) 
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 个月前

      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.