Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because the closures don't have the same type, if I'm following you correctly.


Because the parameters demand the same type (and for the return value), but the supplied parameters are not the same type because the only way to get that is to pass in exactly the same instance of the closure.

It's a fun little thing, and a good example of why impl Trait in argument position is a really nice addition to Rust, even though based on what we were originally excited about (impl Trait in return position for returning Iterators and other such things), the argument position form didn't seem so important.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: