//! Regression test for #74400: Type mismatch in function arguments E0631, E0271 are falsely | |
//! recognized as "implementation of `FnOnce` is not general enough". | |
use std::convert::identity; | |
fn main() {} | |
fn f<T, S>(data: &[T], key: impl Fn(&T) -> S) { | |
} | |
fn g<T>(data: &[T]) { | |
f(data, identity) | |
//~^ ERROR the parameter type | |
//~| ERROR the parameter type | |
//~| ERROR the parameter type | |
//~| ERROR implementation of `FnOnce` is not general enough | |
//~| ERROR implementation of `Fn` is not general enough | |
} |