Closed
Description
Example (play: http://is.gd/idpRaW)
use std::mem;
struct Trace;
fn foo(b: Box<Trace>) {
do1(|| mem::drop(*b));
}
fn do1<F:FnOnce()>(f: F) { }
fn main() { }
If you change mem::drop(*b)
to mem::drop(b)
, it compiles.
Example (play: http://is.gd/idpRaW)
use std::mem;
struct Trace;
fn foo(b: Box<Trace>) {
do1(|| mem::drop(*b));
}
fn do1<F:FnOnce()>(f: F) { }
fn main() { }
If you change mem::drop(*b)
to mem::drop(b)
, it compiles.