Rollup merge of #98642 - yanchen4791:issue-98260-fix, r=spastorino
Fix #98260 Fixes https://github.com/rust-lang/rust/issues/98260
This commit is contained in:
commit
05c0b2e397
3 changed files with 26 additions and 0 deletions
|
@ -37,6 +37,11 @@ fn crate_variances(tcx: TyCtxt<'_>, (): ()) -> CrateVariancesMap<'_> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn variances_of(tcx: TyCtxt<'_>, item_def_id: DefId) -> &[ty::Variance] {
|
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) {
|
match tcx.def_kind(item_def_id) {
|
||||||
DefKind::Fn
|
DefKind::Fn
|
||||||
| DefKind::AssocFn
|
| DefKind::AssocFn
|
||||||
|
|
9
src/test/ui/typeck/issue-98260.rs
Normal file
9
src/test/ui/typeck/issue-98260.rs
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
fn main() {}
|
||||||
|
trait A {
|
||||||
|
fn a(aa: B) -> Result<_, B> {
|
||||||
|
//~^ ERROR: the placeholder `_` is not allowed within types on item signatures for return types [E0121]
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum B {}
|
12
src/test/ui/typeck/issue-98260.stderr
Normal file
12
src/test/ui/typeck/issue-98260.stderr
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
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`.
|
Loading…
Add table
Add a link
Reference in a new issue