From d4b2164849320bb53e4d864135c4c64f6dc17e17 Mon Sep 17 00:00:00 2001 From: Travis Long Date: Fri, 10 Jun 2022 08:24:10 -0500 Subject: [PATCH] Some fixes for Rust code generation (#495) --- glean_parser/rust.py | 2 +- glean_parser/templates/rust.jinja2 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/glean_parser/rust.py b/glean_parser/rust.py index 13975acc6..177b62c70 100644 --- a/glean_parser/rust.py +++ b/glean_parser/rust.py @@ -196,7 +196,7 @@ def output_rust( template.render( parser_version=__version__, categories=categories, - extra_args=util.metric_args, + extra_metric_args=util.extra_metric_args, common_metric_args=util.common_metric_args, ) ) diff --git a/glean_parser/templates/rust.jinja2 b/glean_parser/templates/rust.jinja2 index fe51e3791..878fecf38 100644 --- a/glean_parser/templates/rust.jinja2 +++ b/glean_parser/templates/rust.jinja2 @@ -32,10 +32,10 @@ pub struct {{ obj.name|Camelize }}{{ suffix }} { impl ExtraKeys for {{ obj.name|Camelize }}{{ suffix }} { const ALLOWED_KEYS: &'static [&'static str] = {{ obj.allowed_extra_keys|extra_keys }}; - fn into_ffi_extra(self) -> ::std::collections::HashMap { + fn into_ffi_extra(self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> { let mut map = ::std::collections::HashMap::new(); {% for key, _ in obj|attr(name) %} - self.{{key|snake_case}}.and_then(|val| map.insert("{{key}}", val)); + self.{{key|snake_case}}.and_then(|val| map.insert("{{key}}".to_string(), val)); {% endfor %} map } @@ -72,7 +72,7 @@ pub mod {{ category.name|snake_case }} { disabled: {{ obj.is_disabled()|rust }}, ..Default::default() } - {%- for arg_name in extra_args if obj[arg_name] is defined and arg_name not in common_metric_args and arg_name != 'allowed_extra_keys' -%} + {%- for arg_name in extra_metric_args if obj[arg_name] is defined and arg_name != 'allowed_extra_keys' -%} , {{ obj[arg_name]|rust }} {%- endfor -%} {{ ", " if obj.labeled else ")\n" }}