}
fn variances_of(tcx: TyCtxt<'_>, item_def_id: DefId) -> &[ty::Variance] {
+ // Skip items with no generics - there's nothing to infer in them.
+ if tcx.generics_of(item_def_id).count() == 0 {
+ return &[];
+ }
+
match tcx.def_kind(item_def_id) {
DefKind::Fn
| DefKind::AssocFn
--- /dev/null
+error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
+ --> $DIR/issue-98260.rs:3:27
+ |
+LL | fn a(aa: B) -> Result<_, B> {
+ | -------^----
+ | | |
+ | | not allowed in type signatures
+ | help: replace with the correct return type: `Result<(), B>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0121`.