• @traches
    link
    English
    21 year ago

    Rust is neat because it doesn’t have the bottom 2

      • @labsin
        link
        English
        5
        edit-2
        1 year ago

        It has std:option

        So every object that can be None or Some, needs to be checked when used. And only options can be set to None

        • @[email protected]
          link
          fedilink
          English
          5
          edit-2
          1 year ago

          Yeah it’s a bit inaccurate to say it’s not supported. It just has edge case handling written explicitly into whatever thing you’re building (I assume it’s required to do so in order to be well-typed). It took this idea from Haskell, which might have gotten it from Miranda or something.

          • @labsin
            link
            English
            21 year ago

            I like the pattern a lot more. It makes you just initialize the value and only keep it ‘nullable’ for where it’s needed and then you need to check. Even .net implemented it (but a bit more awkward)

            • @[email protected]
              link
              fedilink
              English
              11 year ago

              Yup. Programmers are really stupid, if the compiler forces us to explicitly handle weird situations that’s a feature.

      • @traches
        link
        English
        31 year ago

        It also doesn’t have throw/try/catch. If a function can fail, it returns a Result and you have to deal with the failure case explicitly.