[pdm-devel] [PATCH proxmox-yew-comp 05/15] apt_repositories: collapse match statement with if-let
Maximiliano Sandoval
m.sandoval at proxmox.com
Mon Jan 13 15:27:15 CET 2025
Fixes:
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/apt_repositories.rs:521:17
|
521 | / match selected_record {
522 | | TreeEntry::Repository {
523 | | path, index, repo, ..
524 | | } => {
... |
544 | | _ => {}
545 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
521 ~ if let TreeEntry::Repository {
522 + path, index, repo, ..
523 + } = selected_record {
524 + let param = json!({
525 + "path": path,
526 + "index": index,
527 + "enabled": !repo.enabled,
528 + });
529 + // fixme: add digest to protect against concurrent changes
530 + let url = format!("{}/repositories", props.base_url);
531 + let link = ctx.link();
532 + link.clone().spawn(async move {
533 + match crate::http_post(url, Some(param)).await {
534 + Ok(()) => {
535 + link.send_reload();
536 + }
537 + Err(err) => {
538 + link.show_error(tr!("API call failed"), err, true);
539 + }
540 + }
541 + });
542 + }
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
src/apt_repositories.rs | 44 ++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 23 deletions(-)
diff --git a/src/apt_repositories.rs b/src/apt_repositories.rs
index 8e6207f..365e01b 100644
--- a/src/apt_repositories.rs
+++ b/src/apt_repositories.rs
@@ -515,30 +515,28 @@ impl LoadableComponent for ProxmoxAptRepositories {
Some(record) => record,
None => return false,
};
- match selected_record {
- TreeEntry::Repository {
- path, index, repo, ..
- } => {
- let param = json!({
- "path": path,
- "index": index,
- "enabled": !repo.enabled,
- });
- // fixme: add digest to protect against concurrent changes
- let url = format!("{}/repositories", props.base_url);
- let link = ctx.link();
- link.clone().spawn(async move {
- match crate::http_post(url, Some(param)).await {
- Ok(()) => {
- link.send_reload();
- }
- Err(err) => {
- link.show_error(tr!("API call failed"), err, true);
- }
+ if let TreeEntry::Repository {
+ path, index, repo, ..
+ } = selected_record
+ {
+ let param = json!({
+ "path": path,
+ "index": index,
+ "enabled": !repo.enabled,
+ });
+ // fixme: add digest to protect against concurrent changes
+ let url = format!("{}/repositories", props.base_url);
+ let link = ctx.link();
+ link.clone().spawn(async move {
+ match crate::http_post(url, Some(param)).await {
+ Ok(()) => {
+ link.send_reload();
}
- });
- }
- _ => {}
+ Err(err) => {
+ link.show_error(tr!("API call failed"), err, true);
+ }
+ }
+ });
}
false
}
--
2.39.5
More information about the pdm-devel
mailing list