error[E0308]: mismatched types --> $DIR/issue-5216.rs:3:21 | LL | pub static C: S = S(f); | - ^ expected struct `Box`, found fn item | | | arguments to this struct are incorrect | = note: expected struct `Box<(dyn FnMut() + Sync + 'static)>` found fn item `fn() {f}` note: tuple struct defined here --> $DIR/issue-5216.rs:2:8 | LL | struct S(Box); | ^ error[E0308]: mismatched types --> $DIR/issue-5216.rs:8:19 | LL | pub static D: T = g; | ^ expected struct `Box`, found fn item | = note: expected struct `Box<(dyn FnMut() + Sync + 'static)>` found fn item `fn() {g}` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.