From 966c23f5290275ce17564f6027a17ec20cd6078f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Wed, 17 Mar 2021 01:27:56 +0100 Subject: avoid converting types into themselves via .into() (clippy::useless-conversion) example: let x: String = String::from("hello world").into(); --- crates/base_db/src/fixture.rs | 2 +- crates/hir/src/attrs.rs | 2 +- crates/hir/src/lib.rs | 12 ++++++------ crates/hir/src/semantics.rs | 2 +- crates/hir/src/source_analyzer.rs | 2 +- crates/hir_def/src/attr.rs | 2 +- crates/hir_ty/src/diagnostics/decl_check.rs | 18 +++++++++--------- crates/hir_ty/src/diagnostics/expr.rs | 18 +++++++++--------- crates/hir_ty/src/diagnostics/unsafe_check.rs | 2 +- crates/hir_ty/src/traits/chalk/mapping.rs | 2 +- crates/ide/src/diagnostics/fixes.rs | 2 +- crates/ide_completion/src/completions.rs | 2 +- .../src/completions/postfix/format_like.rs | 2 +- crates/ide_db/src/defs.rs | 2 +- crates/ide_db/src/helpers/insert_use.rs | 2 +- crates/mbe/src/benchmark.rs | 18 ++++++++---------- crates/mbe/src/expander/matcher.rs | 2 +- crates/mbe/src/syntax_bridge.rs | 4 ++-- crates/mbe/src/tests.rs | 2 +- crates/proc_macro_api/src/rpc.rs | 11 ++++------- crates/rust-analyzer/src/lsp_utils.rs | 2 +- crates/rust-analyzer/src/to_proto.rs | 2 +- crates/syntax/src/ast/edit.rs | 2 +- crates/syntax/src/ted.rs | 2 +- 24 files changed, 56 insertions(+), 61 deletions(-) diff --git a/crates/base_db/src/fixture.rs b/crates/base_db/src/fixture.rs index cad6866aa..8d4641355 100644 --- a/crates/base_db/src/fixture.rs +++ b/crates/base_db/src/fixture.rs @@ -197,7 +197,7 @@ impl ChangeFixture { change.change_file(file_id, Some(Arc::new(text))); let path = VfsPath::new_virtual_path(meta.path); - file_set.insert(file_id, path.into()); + file_set.insert(file_id, path); files.push(file_id); file_id.0 += 1; } diff --git a/crates/hir/src/attrs.rs b/crates/hir/src/attrs.rs index 9e6a3e155..b9c695921 100644 --- a/crates/hir/src/attrs.rs +++ b/crates/hir/src/attrs.rs @@ -124,5 +124,5 @@ fn resolve_doc_path( Some(Namespace::Macros) => return None, None => resolved.iter_items().find_map(|it| it.as_module_def_id())?, }; - Some(def.into()) + Some(def) } diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs index 12dd5fb38..861b7329e 100644 --- a/crates/hir/src/lib.rs +++ b/crates/hir/src/lib.rs @@ -1335,7 +1335,7 @@ impl Local { // FIXME: why is this an option? It shouldn't be? pub fn name(self, db: &dyn HirDatabase) -> Option { - let body = db.body(self.parent.into()); + let body = db.body(self.parent); match &body[self.pat_id] { Pat::Bind { name, .. } => Some(name.clone()), _ => None, @@ -1347,7 +1347,7 @@ impl Local { } pub fn is_mut(self, db: &dyn HirDatabase) -> bool { - let body = db.body(self.parent.into()); + let body = db.body(self.parent); matches!(&body[self.pat_id], Pat::Bind { mode: BindingAnnotation::Mutable, .. }) } @@ -1360,7 +1360,7 @@ impl Local { } pub fn ty(self, db: &dyn HirDatabase) -> Type { - let def = DefWithBodyId::from(self.parent); + let def = self.parent; let infer = db.infer(def); let ty = infer[self.pat_id].clone(); let krate = def.module(db.upcast()).krate(); @@ -1368,7 +1368,7 @@ impl Local { } pub fn source(self, db: &dyn HirDatabase) -> InFile> { - let (_body, source_map) = db.body_with_source_map(self.parent.into()); + let (_body, source_map) = db.body_with_source_map(self.parent); let src = source_map.pat_syntax(self.pat_id).unwrap(); // Hmm... let root = src.file_syntax(db.upcast()); src.map(|ast| { @@ -1393,12 +1393,12 @@ impl Label { } pub fn name(self, db: &dyn HirDatabase) -> Name { - let body = db.body(self.parent.into()); + let body = db.body(self.parent); body[self.label_id].name.clone() } pub fn source(self, db: &dyn HirDatabase) -> InFile { - let (_body, source_map) = db.body_with_source_map(self.parent.into()); + let (_body, source_map) = db.body_with_source_map(self.parent); let src = source_map.label_syntax(self.label_id); let root = src.file_syntax(db.upcast()); src.map(|ast| ast.to_node(&root)) diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs index 03c9371b5..00b076175 100644 --- a/crates/hir/src/semantics.rs +++ b/crates/hir/src/semantics.rs @@ -835,7 +835,7 @@ impl<'a> SemanticsScope<'a> { resolver::ScopeDef::AdtSelfType(it) => ScopeDef::AdtSelfType(it.into()), resolver::ScopeDef::GenericParam(id) => ScopeDef::GenericParam(id.into()), resolver::ScopeDef::Local(pat_id) => { - let parent = resolver.body_owner().unwrap().into(); + let parent = resolver.body_owner().unwrap(); ScopeDef::Local(Local { parent, pat_id }) } }; diff --git a/crates/hir/src/source_analyzer.rs b/crates/hir/src/source_analyzer.rs index 117f32a9e..37d162b32 100644 --- a/crates/hir/src/source_analyzer.rs +++ b/crates/hir/src/source_analyzer.rs @@ -484,7 +484,7 @@ fn resolve_hir_path_( resolver.resolve_path_in_value_ns_fully(db.upcast(), path.mod_path()).and_then(|val| { let res = match val { ValueNs::LocalBinding(pat_id) => { - let var = Local { parent: body_owner?.into(), pat_id }; + let var = Local { parent: body_owner?, pat_id }; PathResolution::Local(var) } ValueNs::FunctionId(it) => PathResolution::Def(Function::from(it).into()), diff --git a/crates/hir_def/src/attr.rs b/crates/hir_def/src/attr.rs index 7b41b148c..b0b4b5052 100644 --- a/crates/hir_def/src/attr.rs +++ b/crates/hir_def/src/attr.rs @@ -325,7 +325,7 @@ impl Attrs { if docs.is_empty() { None } else { - Some(Documentation(docs.into())) + Some(Documentation(docs)) } } } diff --git a/crates/hir_ty/src/diagnostics/decl_check.rs b/crates/hir_ty/src/diagnostics/decl_check.rs index 982ad5b9e..bfe239793 100644 --- a/crates/hir_ty/src/diagnostics/decl_check.rs +++ b/crates/hir_ty/src/diagnostics/decl_check.rs @@ -203,7 +203,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: fn_src.file_id, ident_type: IdentType::Function, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, @@ -261,7 +261,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: fn_src.file_id, ident_type: IdentType::Argument, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: param_to_rename.expected_case, ident_text: param_to_rename.current_name.to_string(), suggested_text: param_to_rename.suggested_text, @@ -313,7 +313,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: source_ptr.file_id, ident_type: IdentType::Variable, - ident: AstPtr::new(&name_ast).into(), + ident: AstPtr::new(&name_ast), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, @@ -403,7 +403,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: struct_src.file_id, ident_type: IdentType::Structure, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, @@ -448,7 +448,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: struct_src.file_id, ident_type: IdentType::Field, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: field_to_rename.expected_case, ident_text: field_to_rename.current_name.to_string(), suggested_text: field_to_rename.suggested_text, @@ -527,7 +527,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: enum_src.file_id, ident_type: IdentType::Enum, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, @@ -572,7 +572,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: enum_src.file_id, ident_type: IdentType::Variant, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: variant_to_rename.expected_case, ident_text: variant_to_rename.current_name.to_string(), suggested_text: variant_to_rename.suggested_text, @@ -617,7 +617,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: const_src.file_id, ident_type: IdentType::Constant, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, @@ -665,7 +665,7 @@ impl<'a, 'b> DeclValidator<'a, 'b> { let diagnostic = IncorrectCase { file: static_src.file_id, ident_type: IdentType::StaticVariable, - ident: AstPtr::new(&ast_ptr).into(), + ident: AstPtr::new(&ast_ptr), expected_case: replacement.expected_case, ident_text: replacement.current_name.to_string(), suggested_text: replacement.suggested_text, diff --git a/crates/hir_ty/src/diagnostics/expr.rs b/crates/hir_ty/src/diagnostics/expr.rs index b2bfd68d4..71b2cade0 100644 --- a/crates/hir_ty/src/diagnostics/expr.rs +++ b/crates/hir_ty/src/diagnostics/expr.rs @@ -44,7 +44,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { pub(super) fn validate_body(&mut self, db: &dyn HirDatabase) { self.check_for_filter_map_next(db); - let body = db.body(self.owner.into()); + let body = db.body(self.owner); for (id, expr) in body.exprs.iter() { if let Some((variant_def, missed_fields, true)) = @@ -98,7 +98,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { missed_fields: Vec, ) { // XXX: only look at source_map if we do have missing fields - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(source_ptr) = source_map.expr_syntax(id) { let root = source_ptr.file_syntax(db.upcast()); @@ -128,7 +128,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { missed_fields: Vec, ) { // XXX: only look at source_map if we do have missing fields - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(source_ptr) = source_map.pat_syntax(id) { if let Some(expr) = source_ptr.value.as_ref().left() { @@ -175,7 +175,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { }; // Search function body for instances of .filter_map(..).next() - let body = db.body(self.owner.into()); + let body = db.body(self.owner); let mut prev = None; for (id, expr) in body.exprs.iter() { if let Expr::MethodCall { receiver, .. } = expr { @@ -192,7 +192,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { if function_id == *next_function_id { if let Some(filter_map_id) = prev { if *receiver == filter_map_id { - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(next_source_ptr) = source_map.expr_syntax(id) { self.sink.push(ReplaceFilterMapNextWithFindMap { file: next_source_ptr.file_id, @@ -262,7 +262,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { let mut arg_count = args.len(); if arg_count != param_count { - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(source_ptr) = source_map.expr_syntax(call_id) { if is_method_call { param_count -= 1; @@ -287,7 +287,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { infer: Arc, ) { let (body, source_map): (Arc, Arc) = - db.body_with_source_map(self.owner.into()); + db.body_with_source_map(self.owner); let match_expr_ty = if infer.type_of_expr[match_expr].is_unknown() { return; @@ -393,7 +393,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { }; if params.len() > 0 && params[0] == mismatch.actual { - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(source_ptr) = source_map.expr_syntax(id) { self.sink.push(MissingOkOrSomeInTailExpr { @@ -425,7 +425,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { return; } - let (_, source_map) = db.body_with_source_map(self.owner.into()); + let (_, source_map) = db.body_with_source_map(self.owner); if let Ok(source_ptr) = source_map.expr_syntax(possible_tail_id) { self.sink diff --git a/crates/hir_ty/src/diagnostics/unsafe_check.rs b/crates/hir_ty/src/diagnostics/unsafe_check.rs index 44a7e5506..1f49a4909 100644 --- a/crates/hir_ty/src/diagnostics/unsafe_check.rs +++ b/crates/hir_ty/src/diagnostics/unsafe_check.rs @@ -29,7 +29,7 @@ impl<'a, 'b> UnsafeValidator<'a, 'b> { } pub(super) fn validate_body(&mut self, db: &dyn HirDatabase) { - let def = self.owner.into(); + let def = self.owner; let unsafe_expressions = unsafe_expressions(db, self.infer.as_ref(), def); let is_unsafe = match self.owner { DefWithBodyId::FunctionId(it) => db.function_data(it).qualifier.is_unsafe, diff --git a/crates/hir_ty/src/traits/chalk/mapping.rs b/crates/hir_ty/src/traits/chalk/mapping.rs index 524814f43..d969527dc 100644 --- a/crates/hir_ty/src/traits/chalk/mapping.rs +++ b/crates/hir_ty/src/traits/chalk/mapping.rs @@ -52,7 +52,7 @@ impl ToChalk for Ty { TyKind::Tuple(cardinality, substs) => { let substitution = substs.to_chalk(db); - chalk_ir::TyKind::Tuple(cardinality.into(), substitution).intern(&Interner) + chalk_ir::TyKind::Tuple(cardinality, substitution).intern(&Interner) } TyKind::Raw(mutability, ty) => { let ty = ty.to_chalk(db); diff --git a/crates/ide/src/diagnostics/fixes.rs b/crates/ide/src/diagnostics/fixes.rs index cbfc66ab3..2f840909c 100644 --- a/crates/ide/src/diagnostics/fixes.rs +++ b/crates/ide/src/diagnostics/fixes.rs @@ -180,7 +180,7 @@ fn missing_record_expr_field_fix( let def_id = sema.resolve_variant(record_lit)?; let module; let def_file_id; - let record_fields = match VariantDef::from(def_id) { + let record_fields = match def_id { VariantDef::Struct(s) => { module = s.module(sema.db); let source = s.source(sema.db)?; diff --git a/crates/ide_completion/src/completions.rs b/crates/ide_completion/src/completions.rs index 3b582ed07..09882c4f3 100644 --- a/crates/ide_completion/src/completions.rs +++ b/crates/ide_completion/src/completions.rs @@ -56,7 +56,7 @@ impl Builder { impl Completions { pub(crate) fn add(&mut self, item: CompletionItem) { - self.buf.push(item.into()) + self.buf.push(item) } pub(crate) fn add_all(&mut self, items: I) diff --git a/crates/ide_completion/src/completions/postfix/format_like.rs b/crates/ide_completion/src/completions/postfix/format_like.rs index cee4eec10..3f1c6730b 100644 --- a/crates/ide_completion/src/completions/postfix/format_like.rs +++ b/crates/ide_completion/src/completions/postfix/format_like.rs @@ -89,7 +89,7 @@ enum State { impl FormatStrParser { pub(crate) fn new(input: String) -> Self { Self { - input: input.into(), + input: input, output: String::new(), extracted_expressions: Vec::new(), state: State::NotExpr, diff --git a/crates/ide_db/src/defs.rs b/crates/ide_db/src/defs.rs index f86e5ce93..75167ff39 100644 --- a/crates/ide_db/src/defs.rs +++ b/crates/ide_db/src/defs.rs @@ -181,7 +181,7 @@ impl NameClass { }, ast::SelfParam(it) => { let def = sema.to_def(&it)?; - Some(NameClass::Definition(Definition::Local(def.into()))) + Some(NameClass::Definition(Definition::Local(def))) }, ast::RecordField(it) => { let field: hir::Field = sema.to_def(&it)?; diff --git a/crates/ide_db/src/helpers/insert_use.rs b/crates/ide_db/src/helpers/insert_use.rs index df66d8ea0..9e0cb91c3 100644 --- a/crates/ide_db/src/helpers/insert_use.rs +++ b/crates/ide_db/src/helpers/insert_use.rs @@ -80,7 +80,7 @@ impl ImportScope { }) .last() .map(|last_inner_element| { - (InsertPosition::After(last_inner_element.into()), AddBlankLine::BeforeTwice) + (InsertPosition::After(last_inner_element), AddBlankLine::BeforeTwice) }) .unwrap_or_else(|| self.first_insert_pos()) } diff --git a/crates/mbe/src/benchmark.rs b/crates/mbe/src/benchmark.rs index 503ad1355..bd8ea6452 100644 --- a/crates/mbe/src/benchmark.rs +++ b/crates/mbe/src/benchmark.rs @@ -120,7 +120,7 @@ fn invocation_fixtures(rules: &FxHashMap) -> Vec<(String, tt Some("pat") => parent.token_trees.push(make_ident("foo")), Some("path") => parent.token_trees.push(make_ident("foo")), Some("literal") => parent.token_trees.push(make_literal("1")), - Some("expr") => parent.token_trees.push(make_ident("foo").into()), + Some("expr") => parent.token_trees.push(make_ident("foo")), Some("lifetime") => { parent.token_trees.push(make_punct('\'')); parent.token_trees.push(make_ident("a")); @@ -157,17 +157,15 @@ fn invocation_fixtures(rules: &FxHashMap) -> Vec<(String, tt if i + 1 != cnt { if let Some(sep) = separator { match sep { - Separator::Literal(it) => parent - .token_trees - .push(tt::Leaf::Literal(it.clone().into()).into()), - Separator::Ident(it) => parent - .token_trees - .push(tt::Leaf::Ident(it.clone().into()).into()), + Separator::Literal(it) => { + parent.token_trees.push(tt::Leaf::Literal(it.clone()).into()) + } + Separator::Ident(it) => { + parent.token_trees.push(tt::Leaf::Ident(it.clone()).into()) + } Separator::Puncts(puncts) => { for it in puncts { - parent - .token_trees - .push(tt::Leaf::Punct(it.clone().into()).into()) + parent.token_trees.push(tt::Leaf::Punct(it.clone()).into()) } } }; diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs index 2c69e8968..1bf7c2e81 100644 --- a/crates/mbe/src/expander/matcher.rs +++ b/crates/mbe/src/expander/matcher.rs @@ -722,7 +722,7 @@ fn match_meta_var(kind: &str, input: &mut TtIter) -> ExpandResult Some(lit.into()), Some(neg) => Some(tt::TokenTree::Subtree(tt::Subtree { diff --git a/crates/mbe/src/syntax_bridge.rs b/crates/mbe/src/syntax_bridge.rs index b715ebfc4..85163c4b3 100644 --- a/crates/mbe/src/syntax_bridge.rs +++ b/crates/mbe/src/syntax_bridge.rs @@ -130,7 +130,7 @@ pub fn parse_exprs_with_sep(tt: &tt::Subtree, sep: char) -> Vec { res.push(match expanded.value { None => break, Some(tt @ tt::TokenTree::Leaf(_)) => { - tt::Subtree { delimiter: None, token_trees: vec![tt.into()] } + tt::Subtree { delimiter: None, token_trees: vec![tt] } } Some(tt::TokenTree::Subtree(tt)) => tt, }); @@ -727,7 +727,7 @@ impl<'a> TreeSink for TtTreeSink<'a> { // Note: We always assume the semi-colon would be the last token in // other parts of RA such that we don't add whitespace here. if curr.spacing == tt::Spacing::Alone && curr.char != ';' { - self.inner.token(WHITESPACE, " ".into()); + self.inner.token(WHITESPACE, " "); self.text_pos += TextSize::of(' '); } } diff --git a/crates/mbe/src/tests.rs b/crates/mbe/src/tests.rs index eca0bcc18..25c374b9b 100644 --- a/crates/mbe/src/tests.rs +++ b/crates/mbe/src/tests.rs @@ -35,7 +35,7 @@ mod rule_parsing { fn test_invalid_arms() { fn check(macro_body: &str, err: ParseError) { let m = parse_macro_arm(macro_body); - assert_eq!(m, Err(err.into())); + assert_eq!(m, Err(err)); } check("invalid", ParseError::Expected("expected subtree".into())); diff --git a/crates/proc_macro_api/src/rpc.rs b/crates/proc_macro_api/src/rpc.rs index 64cfdafc5..9a68e2cc5 100644 --- a/crates/proc_macro_api/src/rpc.rs +++ b/crates/proc_macro_api/src/rpc.rs @@ -236,13 +236,10 @@ mod tests { subtree .token_trees .push(TokenTree::Leaf(Ident { text: "Foo".into(), id: TokenId(1) }.into())); - subtree.token_trees.push(TokenTree::Subtree( - Subtree { - delimiter: Some(Delimiter { id: TokenId(2), kind: DelimiterKind::Brace }), - token_trees: vec![], - } - .into(), - )); + subtree.token_trees.push(TokenTree::Subtree(Subtree { + delimiter: Some(Delimiter { id: TokenId(2), kind: DelimiterKind::Brace }), + token_trees: vec![], + })); subtree } diff --git a/crates/rust-analyzer/src/lsp_utils.rs b/crates/rust-analyzer/src/lsp_utils.rs index 3ca7f8040..2ac487632 100644 --- a/crates/rust-analyzer/src/lsp_utils.rs +++ b/crates/rust-analyzer/src/lsp_utils.rs @@ -36,7 +36,7 @@ impl Progress { impl GlobalState { pub(crate) fn show_message(&mut self, typ: lsp_types::MessageType, message: String) { - let message = message.into(); + let message = message; self.send_notification::( lsp_types::ShowMessageParams { typ, message }, ) diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs index 70eaae5e8..c63fe2915 100644 --- a/crates/rust-analyzer/src/to_proto.rs +++ b/crates/rust-analyzer/src/to_proto.rs @@ -287,7 +287,7 @@ pub(crate) fn signature_help( let params = call_info .parameter_ranges() .iter() - .map(|it| [u32::from(it.start()).into(), u32::from(it.end()).into()]) + .map(|it| [u32::from(it.start()), u32::from(it.end())]) .map(|label_offsets| lsp_types::ParameterInformation { label: lsp_types::ParameterLabel::LabelOffsets(label_offsets), documentation: None, diff --git a/crates/syntax/src/ast/edit.rs b/crates/syntax/src/ast/edit.rs index 0b3b76d4a..64fac13a7 100644 --- a/crates/syntax/src/ast/edit.rs +++ b/crates/syntax/src/ast/edit.rs @@ -479,7 +479,7 @@ impl ast::MatchArmList { Some(t) => t, None => return self.clone(), }; - let position = InsertPosition::Before(r_curly.into()); + let position = InsertPosition::Before(r_curly); let arm_ws = tokens::WsBuilder::new(" "); let match_indent = &leading_indent(self.syntax()).unwrap_or_default(); let match_ws = tokens::WsBuilder::new(&format!("\n{}", match_indent)); diff --git a/crates/syntax/src/ted.rs b/crates/syntax/src/ted.rs index 76f950ef9..442dfa14a 100644 --- a/crates/syntax/src/ted.rs +++ b/crates/syntax/src/ted.rs @@ -122,5 +122,5 @@ fn ws_between(left: &SyntaxElement, right: &SyntaxElement) -> Option