• xor
    link
    fedilink
    English
    arrow-up
    15
    ·
    1 year ago

    You’ll be happy to hear I’ve updated the example to be not bad

    • Username@feddit.de
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago

      I wanted to ask why it’s bad, what did you change?

      Btw. the example function get_default is badly chosen, because unwrap_or_default exists.

      • xor
        link
        fedilink
        English
        arrow-up
        11
        ·
        1 year ago

        The original example was doing the unwrap_within an iterator doing some string parsing, so there was a lot of unrelated boilerplate around the actual unwrapping that made it really unclear, as well as usual unwrap_or_else to produce a constant value

        Ehhh, I was more using get_default as a placeholder for some function, as opposed to representing Default::default for the inner type specifically. I think it should be alright since only people familiar with rust would know about the default trait anyway. I did consider adding an unwrap_or_default example, but thought it was getting a bit off topic at that point.

        • barsoap@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Maybe shouldn’t call the function anything default and also provide it. The std docs say:

          fn count(x: &str) -> usize { x.len() }
          
          assert_eq!(Ok(2).unwrap_or_else(count), 2);
          assert_eq!(Err("foo").unwrap_or_else(count), 3);