Skip to content

Commit ca5ed23

Browse files
committed
Implement * operation using Deref trait
1 parent 9c5e7dd commit ca5ed23

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

crates/ra_hir/src/ty/infer.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,10 +1126,12 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> {
11261126
let inner_ty = self.infer_expr(*expr, &Expectation::none());
11271127
match op {
11281128
UnaryOp::Deref => {
1129-
if let Some(derefed_ty) = inner_ty.builtin_deref() {
1130-
derefed_ty
1129+
let canonicalized = self.canonicalizer().canonicalize_ty(inner_ty);
1130+
if let Some(derefed_ty) =
1131+
autoderef::deref(self.db, &self.resolver, &canonicalized.value)
1132+
{
1133+
canonicalized.decanonicalize_ty(derefed_ty.value)
11311134
} else {
1132-
// FIXME Deref::deref
11331135
Ty::Unknown
11341136
}
11351137
}

0 commit comments

Comments
 (0)