Whenever I encounter an interesting Rust programming technique, I add it to this blog post. I’ve amassed a bit of a collection. Hopefully someone finds it interesting and useful!

  • Justin Ossevoort@toot.community
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    @calcopiritus @hatchet That way you can pass a reference or anything that can be turned into a reference as an argument. So the caller can supply a &T, Box<T>, Rc<T>, Arc<T>, … (I dont’t know if there is a blanket impl so that even T itself will work.

    • hatchet@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Well, actually I would tend to agree that &[T] is preferable to AsRef in most cases; all of the smart pointers you mentioned can also easily be turned into plain references. I probably could have chosen a better example.