• colonial@lemmy.world
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Well, that’s to be expected - the implementation of map expects a function that takes ownership of its inputs, so you get a type mismatch.

      If you really want to golf things, you can tack your own map_ref (and friends) onto the Iterator trait. It’s not very useful - the output can’t reference the input - but it’s possible!

      I imagine you could possibly extend this to a combinator that returns a tuple of (Input, ref_map'd output) to get around that limitation, although I can’t think of any cases where that would actually be useful.