https://doc.rust-lang.org/reference/types/function-item.html#r-type.fn-item.traits says: > All function items implement Fn, FnMut, FnOnce, Copy, Clone, Send, and Sync. Consider this [example](https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=293e0e3a254aafcb4b672d78bde1fa7c): ````rust fn check<F: Fn()>(_: F) {} extern "C" fn foo() {} fn main() { check(foo); } ```` The compiler reports an error: ``` the trait `Fn()` is not implemented for fn item `extern "C" fn() {foo}` ```