- if types.understood_c_path(&trait_path.1) {
- let full_trait_path = types.resolve_path(&trait_path.1, None);
- let trait_obj = *types.crate_types.traits.get(&full_trait_path).unwrap();
+ let full_trait_path_opt = types.maybe_resolve_path(&trait_path.1, None);
+ let trait_obj_opt = full_trait_path_opt.as_ref().and_then(|path| types.crate_types.traits.get(path));
+ if types.understood_c_path(&trait_path.1) && trait_obj_opt.is_some() {
+ let full_trait_path = full_trait_path_opt.unwrap();
+ let trait_obj = *trait_obj_opt.unwrap();