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