error[E0282]: type annotations needed --> $DIR/auto-trait-selection.rs:15:16 | LL | if false { is_trait(foo()) } else { Default::default() } | ^^^^^^^^ cannot infer type of the type parameter `T` declared on the function `is_trait` | help: consider specifying the generic arguments | LL | if false { is_trait::(foo()) } else { Default::default() } | ++++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0282`.