Damn, I wish rust had that
It wouldn’t be as relevant, since passing a function or method instead of a closure is much easier in Rust - you can just name it, while Ruby requires you to use the
method
method.So instead of
.map(|res| res.unwrap())
you can do.map(Result::unwrap)
and it’ll Just Work™.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.