From 8a5fbf471305894094726834f7701747fce9c961 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Sun, 17 Mar 2019 19:37:09 +0100 Subject: Remove the old variants replaced by Ty::Apply --- crates/ra_assists/src/fill_match_arms.rs | 14 +++++--------- crates/ra_assists/src/fill_struct_fields.rs | 6 +++--- 2 files changed, 8 insertions(+), 12 deletions(-) (limited to 'crates/ra_assists/src') diff --git a/crates/ra_assists/src/fill_match_arms.rs b/crates/ra_assists/src/fill_match_arms.rs index 6a22b0af5..da67ab667 100644 --- a/crates/ra_assists/src/fill_match_arms.rs +++ b/crates/ra_assists/src/fill_match_arms.rs @@ -1,7 +1,7 @@ use std::fmt::Write; use hir::{ - AdtDef, Ty, FieldSource, source_binder, + AdtDef, FieldSource, source_binder, db::HirDatabase, }; use ra_syntax::ast::{self, AstNode}; @@ -26,14 +26,10 @@ pub(crate) fn fill_match_arms(mut ctx: AssistCtx) -> Option e, - Ty::Ref(adt, _) => match *adt { - Ty::Adt { def_id: AdtDef::Enum(e), .. } => e, - _ => return None, - }, - _ => return None, - }; + let enum_def = match_expr_ty.autoderef(ctx.db).find_map(|ty| match ty.as_adt() { + Some((AdtDef::Enum(e), _)) => Some(e), + _ => None, + })?; let enum_name = enum_def.name(ctx.db)?; let db = ctx.db; diff --git a/crates/ra_assists/src/fill_struct_fields.rs b/crates/ra_assists/src/fill_struct_fields.rs index 6e61a58fc..c7790dc72 100644 --- a/crates/ra_assists/src/fill_struct_fields.rs +++ b/crates/ra_assists/src/fill_struct_fields.rs @@ -1,6 +1,6 @@ use std::fmt::Write; -use hir::{AdtDef, Ty, db::HirDatabase, source_binder::function_from_child_node}; +use hir::{AdtDef, db::HirDatabase, source_binder::function_from_child_node}; use ra_syntax::ast::{self, AstNode}; @@ -60,8 +60,8 @@ where let source_map = function.body_source_map(self.ctx.db); let node_expr = source_map.node_expr(self.struct_lit.into())?; let struct_lit_ty = infer_result[node_expr].clone(); - let struct_def = match struct_lit_ty { - Ty::Adt { def_id: AdtDef::Struct(s), .. } => s, + let struct_def = match struct_lit_ty.as_adt() { + Some((AdtDef::Struct(s), _)) => s, _ => return None, }; self.struct_fields = struct_def -- cgit v1.2.3