From 3e396506c1f1e5c076d027554e3a98a7a3de5345 Mon Sep 17 00:00:00 2001 From: raven <7156279+RavenX8@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:17:47 -0500 Subject: [PATCH] - fix: array elements that use a const not being referred to as an usize - remove: C++ include directives in generated rust --- generator/src/codegen/rust/codegen_source.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/generator/src/codegen/rust/codegen_source.rs b/generator/src/codegen/rust/codegen_source.rs index 1147a47..e878f3a 100644 --- a/generator/src/codegen/rust/codegen_source.rs +++ b/generator/src/codegen/rust/codegen_source.rs @@ -35,16 +35,6 @@ impl<'a, W: Write> CodeSourceGenerator<'a, W> { cg!(self, r#"use bincode::{{Encode, Decode}};"#); cg!(self, r#"use crate::packet::PacketPayload;"#); - for content in packet.contents() { - use self::PacketContent::*; - match content { - Include(ref inc, system) => { - cg!(self, r#"use {};"#, inc); - }, - _ => {} - }; - } - cg!(self); let iserialize = packet.contents().iter().filter_map(|elem| { match elem { @@ -223,7 +213,13 @@ impl<'a, W: Write> CodeSourceGenerator<'a, W> { use ::flat_ast::Occurs::*; let type_ = match o { Unbounded => format!("Vec<{}>", rust_type), - Num(n) => format!("[{}; {}]", rust_type, n) + Num(n) => { + if n.parse::().is_ok() { + format!("[{}; {}]", rust_type, n) + } else { + format!("[{}; ({} as usize)]", rust_type, n) + } + } }; (type_, "".to_string()) } else {