Skip to content

Commit e54f61d

Browse files
committed
Try to fix crash introduced in rust-lang#13147
1 parent 39eaf78 commit e54f61d

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

crates/hir-ty/src/method_resolution.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -989,17 +989,18 @@ fn iterate_inherent_methods(
989989
)?;
990990
}
991991
TyKind::Dyn(_) => {
992-
let principal_trait = self_ty.dyn_trait().unwrap();
993-
let traits = all_super_traits(db.upcast(), principal_trait);
994-
iterate_inherent_trait_methods(
995-
self_ty,
996-
table,
997-
name,
998-
receiver_ty,
999-
receiver_adjustments.clone(),
1000-
callback,
1001-
traits.into_iter(),
1002-
)?;
992+
if let Some(principal_trait) = self_ty.dyn_trait() {
993+
let traits = all_super_traits(db.upcast(), principal_trait);
994+
iterate_inherent_trait_methods(
995+
self_ty,
996+
table,
997+
name,
998+
receiver_ty,
999+
receiver_adjustments.clone(),
1000+
callback,
1001+
traits.into_iter(),
1002+
)?;
1003+
}
10031004
}
10041005
_ => {}
10051006
}

0 commit comments

Comments
 (0)