aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-09-30 07:56:20 +0100
committerAleksey Kladov <[email protected]>2019-09-30 07:56:20 +0100
commit054c53aeb9a9e29d1c06fa183da263037aa62572 (patch)
tree684ae8a26fb473f487454550885937758917564c /crates/ra_assists
parente010b144d5abcbd0947d0490123ef693a6a17c78 (diff)
move remove bounds to ast/edit.rs
Diffstat (limited to 'crates/ra_assists')
-rw-r--r--crates/ra_assists/src/assists/move_bounds.rs3
-rw-r--r--crates/ra_assists/src/ast_editor.rs15
2 files changed, 1 insertions, 17 deletions
diff --git a/crates/ra_assists/src/assists/move_bounds.rs b/crates/ra_assists/src/assists/move_bounds.rs
index fd4bdc55c..1d27832a3 100644
--- a/crates/ra_assists/src/assists/move_bounds.rs
+++ b/crates/ra_assists/src/assists/move_bounds.rs
@@ -39,8 +39,7 @@ pub(crate) fn move_bounds_to_where_clause(mut ctx: AssistCtx<impl HirDatabase>)
39 .type_params() 39 .type_params()
40 .filter(|it| it.type_bound_list().is_some()) 40 .filter(|it| it.type_bound_list().is_some())
41 .map(|type_param| { 41 .map(|type_param| {
42 let without_bounds = 42 let without_bounds = type_param.remove_bounds();
43 AstEditor::new(type_param.clone()).remove_bounds().ast().clone();
44 (type_param, without_bounds) 43 (type_param, without_bounds)
45 }); 44 });
46 45
diff --git a/crates/ra_assists/src/ast_editor.rs b/crates/ra_assists/src/ast_editor.rs
index 54849b7b0..69abf28a1 100644
--- a/crates/ra_assists/src/ast_editor.rs
+++ b/crates/ra_assists/src/ast_editor.rs
@@ -51,18 +51,3 @@ impl<N: AstNode> AstEditor<N> {
51 N::cast(new_syntax).unwrap() 51 N::cast(new_syntax).unwrap()
52 } 52 }
53} 53}
54
55impl AstEditor<ast::TypeParam> {
56 pub fn remove_bounds(&mut self) -> &mut Self {
57 let colon = match self.ast.colon_token() {
58 Some(it) => it,
59 None => return self,
60 };
61 let end = match self.ast.type_bound_list() {
62 Some(it) => it.syntax().clone().into(),
63 None => colon.clone().into(),
64 };
65 self.ast = self.replace_children(RangeInclusive::new(colon.into(), end), iter::empty());
66 self
67 }
68}