[pdm-devel] [PATCH proxmox-api-types 1/3] Schema2Rust: fix handling of non-optional params

Lukas Wagner l.wagner at proxmox.com
Tue Sep 2 17:14:19 CEST 2025


Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
 pve-api-types/generator-lib/Schema2Rust.pm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/pve-api-types/generator-lib/Schema2Rust.pm b/pve-api-types/generator-lib/Schema2Rust.pm
index 77cb373..436ba76 100644
--- a/pve-api-types/generator-lib/Schema2Rust.pm
+++ b/pve-api-types/generator-lib/Schema2Rust.pm
@@ -497,8 +497,10 @@ my sub print_method_without_body : prototype($$$$$) {
                 print {$out} "        .maybe_bool_arg(\"$name\", p_$rust_name)\n";
             } elsif ($arg->{is_string_list}) {
                 print {$out} "        .maybe_list_arg(\"$name\", p_$rust_name)\n";
-            } else {
+            } elsif ($arg->{optional}) {
                 print {$out} "        .maybe_arg(\"$name\", &p_$rust_name)\n";
+            } else {
+                print {$out} "        .arg(\"$name\", &p_$rust_name)\n";
             }
         }
         print {$out} "        .build();\n";
@@ -517,12 +519,15 @@ my sub print_method_without_body : prototype($$$$$) {
             for my $arg (@$input) {
                 my $name = $arg->{name};
                 my $rust_name = $arg->{rust_name};
+
                 if ($arg->{type} eq 'Option<bool>') {
                     print {$out} "        .maybe_bool_arg(\"$name\", $rust_name)\n";
                 } elsif ($arg->{is_string_list}) {
                     print {$out} "        .maybe_list_arg(\"$name\", &$rust_name)\n";
-                } else {
+                } elsif ($arg->{optional}) {
                     print {$out} "        .maybe_arg(\"$name\", &$rust_name)\n";
+                } else {
+                    print {$out} "        .arg(\"$name\", &$rust_name)\n";
                 }
             }
             print {$out} "        .build();\n";
-- 
2.47.2





More information about the pdm-devel mailing list