struct Foo {
    a: fn(i32) -> i32,
    b: i32,
}
fn test(a: i32) -> i32 {
    a + 1
}
fn main() {
    let a = test(1);
    // { dg-warning "unused name" "" { target *-*-* } .-1 }
    let b: fn(i32) -> i32 = test;
    let c = b(1);
    let d = Foo { a: test, b: c };
    let e = (d.a)(d.b);
    // { dg-warning "unused name" "" { target *-*-* } .-1 }
}