• Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    I only really understand half of it without getting my fingers on it, but sounds like some good stuff.

    The path::absolute() that’s hidden in the stabilized items is definitely something I’ve wanted for a while, though.

    • tmpod@lemmy.ptOP
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      The two biggest things are lifetime extensions and inline consts. Both will allow you to write more concise code and, in the case of lifetime extensions, may help eliminate some bugs, since you won’t need to work around that limitation anymore.

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Yeah, I’m imagining, I’ve run into these problems in the past and then the compiler told me to do it differently and so I did. I’m definitely glad that such unobvious behavior is being reduced, I just probably won’t realize until I’m writing similar code the next time and the compiler does not complain.

      • TehPers@beehaw.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Inline consts also let you perform static assertions, like asserting a type parameter is not a zero-sized type, or a const generic is non-zero. This is actually pretty huge since some checks can be moved from runtime to compile time (not a lot of checks, but some that were difficult or impossible to do at compile time before).

    • Killing_Spark@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I’m not really sure I get the usefulness of this absolute function. It still returns relative paths if the input was relative and it doesn’t resolve “…”. What would you use it for where canonicalize doesn’t work for you?

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Well, as it says in the documentation I linked:

        unlike canonicalize absolute does not resolve symlinks and may succeed even if the path does not exist.

        Primarily, the latter part is what I want. There’s just sometimes situations where a path doesn’t exist (yet), but you want to know what it would look like as an absolute path.