get_vtable returns opt instd of unwrpping
This commit is contained in:
parent
d35d972e69
commit
8f1fff04a7
6 changed files with 132 additions and 11 deletions
|
@ -347,11 +347,15 @@ fn resolve_associated_item<'tcx>(
|
|||
_ => None,
|
||||
},
|
||||
traits::ImplSource::Object(ref data) => {
|
||||
let index = traits::get_vtable_index_of_object_method(tcx, data, trait_item_id);
|
||||
Some(Instance {
|
||||
def: ty::InstanceDef::Virtual(trait_item_id, index),
|
||||
substs: rcvr_substs,
|
||||
})
|
||||
if let Some(index) = traits::get_vtable_index_of_object_method(tcx, data, trait_item_id)
|
||||
{
|
||||
Some(Instance {
|
||||
def: ty::InstanceDef::Virtual(trait_item_id, index),
|
||||
substs: rcvr_substs,
|
||||
})
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
traits::ImplSource::Builtin(..) => {
|
||||
if Some(trait_ref.def_id) == tcx.lang_items().clone_trait() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue