error[E0283]: type annotations needed --> $DIR/not-inferred-generic.rs:11:8 | LL | ().publish_typed(); | ^^^^^^^^^^^^^ cannot infer type of the type parameter `F` declared on the method `publish_typed` | = note: cannot satisfy `_: Clone` = note: opaque types cannot be accessed directly on a `trait`, they can only be accessed through a specific `impl` note: required by a bound in `TypedClient::publish_typed::{anon_assoc#0}` --> $DIR/not-inferred-generic.rs:4:12 | LL | F: Clone; | ^^^^^ required by this bound in `TypedClient::publish_typed::{anon_assoc#0}` help: consider specifying the generic argument | LL | ().publish_typed::(); | +++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0283`.