all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pdm-devel] [PATCH proxmox-api-types] generator: Remove needless borrows
@ 2025-02-19 14:06 Maximiliano Sandoval
  2025-02-19 14:20 ` Wolfgang Bumiller
  0 siblings, 1 reply; 2+ messages in thread
From: Maximiliano Sandoval @ 2025-02-19 14:06 UTC (permalink / raw)
  To: pdm-devel

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
 pve-api-types/generator-lib/Schema2Rust.pm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/pve-api-types/generator-lib/Schema2Rust.pm b/pve-api-types/generator-lib/Schema2Rust.pm
index 84f36f6..173d66f 100644
--- a/pve-api-types/generator-lib/Schema2Rust.pm
+++ b/pve-api-types/generator-lib/Schema2Rust.pm
@@ -453,6 +453,7 @@ my sub print_method_without_body : prototype($$$$$) {
     }
 
     my $input;
+    my $is_url_owned = 0;
     if (defined($input = $def->{input_type})) {
         print {$out} "    params: $input,\n";
         print {$out} ") -> Result<$def->{output_type}, Error> {\n";
@@ -486,6 +487,7 @@ my sub print_method_without_body : prototype($$$$$) {
                 print {$out} "    add_query_arg(&mut query, &mut sep, \"$name\", &p_$rust_name);\n";
             }
         }
+        $is_url_owned = 1;
         print {$out} "    let url = format!(\"/api2/extjs$def->{url}\{query}\");\n";
     } elsif (defined($input = $def->{input})) {
         for my $arg ($input->@*) {
@@ -510,6 +512,7 @@ my sub print_method_without_body : prototype($$$$$) {
                     print {$out} "    add_query_arg(&mut query, &mut sep, \"$name\", &$rust_name);\n";
                 }
             }
+            $is_url_owned = 1;
             print {$out} "    let url = format!(\"/api2/extjs$def->{url}\{query}\");\n";
         } else {
             print {$out} "    let url = \"/api2/extjs$def->{url}\";\n";
@@ -523,7 +526,8 @@ my sub print_method_without_body : prototype($$$$$) {
         print {$out} "    let url = \"/api2/extjs$def->{url}\";\n";
     }
 
-    my $call = return_expr($def, "self.0.$method(&url).await?");
+    my $maybe_borrowed_url = $is_url_owned ? '&url' : 'url';
+    my $call = return_expr($def, "self.0.$method($maybe_borrowed_url).await?");
     print {$out} "    $call\n";
 
     print {$out} "}\n\n";
@@ -554,7 +558,7 @@ my sub print_method_with_body : prototype($$$$$) {
     }
     # print {$out} "    // self.login().await?;\n";
     print {$out} "    let url = \"/api2/extjs$def->{url}\";\n";
-        my $call = return_expr($def, "self.0.${method}(&url, &params).await?");
+        my $call = return_expr($def, "self.0.${method}(url, &params).await?");
         print {$out} "    $call\n";
     print {$out} "}\n\n";
 }
-- 
2.39.5



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-02-19 14:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-19 14:06 [pdm-devel] [PATCH proxmox-api-types] generator: Remove needless borrows Maximiliano Sandoval
2025-02-19 14:20 ` Wolfgang Bumiller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal