Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
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.
Except when Type::Method takes a reference, then it doesn’t just work
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 theIterator
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.