Skip to content

Commit d8f5192

Browse files
committed
Get Output assoc type by name
1 parent f07338b commit d8f5192

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

crates/ra_hir_ty/src/infer/expr.rs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use hir_def::{
1010
resolver::resolver_for_expr,
1111
AdtId, AssocContainerId, FieldId, Lookup,
1212
};
13-
use hir_expand::name::Name;
13+
use hir_expand::name::{name, Name};
1414
use ra_syntax::ast::RangeOp;
1515

1616
use crate::{
@@ -70,18 +70,8 @@ impl<'a> InferenceContext<'a> {
7070
.filter_map(|f| f.get_id(self.db, krate))
7171
.collect();
7272
let fn_once_trait = FnTrait::FnOnce.get_id(self.db, krate)?;
73-
let output_assoc_type = match self
74-
.db
75-
.trait_data(fn_once_trait)
76-
.associated_types()
77-
.collect::<Vec<hir_def::TypeAliasId>>()
78-
.as_slice()
79-
{
80-
[output] => *output,
81-
_ => {
82-
return None;
83-
}
84-
};
73+
let output_assoc_type =
74+
self.db.trait_data(fn_once_trait).associated_type_by_name(&name![Output])?;
8575
for fn_trait in fn_traits {
8676
let generic_params = generics(self.db.upcast(), fn_trait.into());
8777
if generic_params.len() != 2 {

0 commit comments

Comments
 (0)