error[E0308]: mismatched types --> $DIR/issue-24322.rs:18:29 | LL | let x: &fn(&B) -> u32 = &B::func; //~ ERROR mismatched types | ^^^^^^^^ expected fn pointer, found fn item | = note: expected type `&for<'r> fn(&'r B) -> u32` found type `&for<'r> fn(&'r B) -> u32 {B::func}` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.