Support evaluating inherent associated constants with generics

This commit is contained in:
hkalbasi 2023-03-21 02:20:30 +03:30
parent 3303a6eff5
commit 8a3ad7c3d5
7 changed files with 22 additions and 33 deletions

View file

@ -612,21 +612,6 @@ impl<'a> InferenceContext<'a> {
let inner_ty = self.infer_expr_inner(*expr, &Expectation::none());
self.resolve_associated_type(inner_ty, self.resolve_future_future_output())
}
// Expr::Try { expr } => {
// let inner_ty = self.infer_expr_inner(*expr, &Expectation::none());
// if let Some(trait_) = self.resolve_lang_trait(LangItem::Try) {
// if let Some(func) = self.db.trait_data(trait_).method_by_name(&name!(branch)) {
// let subst = TyBuilder::subst_for_def(self.db, trait_, None)
// .push(inner_ty.clone())
// .build();
// self.write_method_resolution(tgt_expr, func, subst.clone());
// }
// let try_output = self.resolve_output_on(trait_);
// self.resolve_associated_type(inner_ty, try_output)
// } else {
// self.err_ty()
// }
// }
Expr::Cast { expr, type_ref } => {
let cast_ty = self.make_ty(type_ref);
// FIXME: propagate the "castable to" expectation