Is `FnMut() + Clone + Send` strictly more expressive than `Fn() + Sync`?

297 · Users Rust Lang · July 30, 2026, 8:18 a.m.
Summary
This blog post discusses the expressiveness of the Rust iterator library's API, comparing `FnMut() + Clone + Send` to `Fn() + Sync`. It explores the trade-offs between them and poses a question about the transformation capabilities and limitations of these function traits in Rust. The author seeks clarification on whether there are functions that can implement the former traits without satisfying the latter, considering Rust's immutable and mutable reference rules.