diff options
| author | Mathew Horner <matt@phylum.io> | 2024-05-25 15:00:15 -0500 |
|---|---|---|
| committer | Mathew Horner <matt@phylum.io> | 2024-05-25 15:00:15 -0500 |
| commit | afa8dfc51faa9304e03cb79c84c7e99bd7cf2f42 (patch) | |
| tree | b0644dd9d82cd12a97b845bd4679b521335d71d8 | |
| parent | 56d77b90480c3c923a5689262b186382de4d8d65 (diff) | |
| download | rust-afa8dfc51faa9304e03cb79c84c7e99bd7cf2f42.tar.gz rust-afa8dfc51faa9304e03cb79c84c7e99bd7cf2f42.zip | |
Avoid clone when constructing runnable label.
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/runnables.rs | 2 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto.rs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/runnables.rs b/src/tools/rust-analyzer/crates/ide/src/runnables.rs index 64ffa591017..2feea09840f 100644 --- a/src/tools/rust-analyzer/crates/ide/src/runnables.rs +++ b/src/tools/rust-analyzer/crates/ide/src/runnables.rs @@ -79,7 +79,7 @@ impl RunnableKind { impl Runnable { // test package::module::testname - pub fn label(&self, target: Option<String>) -> String { + pub fn label(&self, target: Option<&str>) -> String { match &self.kind { RunnableKind::Test { test_id, .. } => format!("test {test_id}"), RunnableKind::TestMod { path } => format!("test-mod {path}"), diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto.rs index 1d7062c9897..86368c9eea8 100644 --- a/src/tools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto.rs +++ b/src/tools/rust-analyzer/crates/rust-analyzer/src/lsp/to_proto.rs @@ -1364,10 +1364,10 @@ pub(crate) fn runnable( ide::RunnableKind::Bin { .. } => workspace_root.clone().map(|it| it.into()), _ => spec.as_ref().map(|it| it.cargo_toml.parent().into()), }; - let target = spec.as_ref().map(|s| s.target.clone()); + let target = spec.as_ref().map(|s| s.target.as_str()); + let label = runnable.label(target); let (cargo_args, executable_args) = CargoTargetSpec::runnable_args(snap, spec, &runnable.kind, &runnable.cfg); - let label = runnable.label(target); let location = location_link(snap, None, runnable.nav)?; Ok(lsp_ext::Runnable { |
