What does this code demonstrate about how the `Send` auto trait is computed for closures and generators?
use std::rc::Rc;
fn needs_send<F: Send>(_f: F) {}
fn main() {
let data = Rc::new(42);
let c = move || println!("{}", data);
needs_send(c); // does this compile?
}