Rust contravariance, Regarding the contravariance of `fn(&'a i32) -> ()`

Nope. It's always "subtype -> supertype", no matter what. It's just that for function types, "type of function A can be converted to type of function B" means "argument for function B can be converted to argument for function A".

1 Like