From c7acf27e06f1fb0a7cb99f28f985ce999d10aac6 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Sat, 9 Nov 2024 13:40:53 -0300 Subject: [PATCH] fmt: fix formatting fixed array size of struct member (#22815) --- vlib/v/ast/types.v | 3 +++ vlib/v/fmt/tests/struct_fixed_array_ident_keep.vv | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 vlib/v/fmt/tests/struct_fixed_array_ident_keep.vv diff --git a/vlib/v/ast/types.v b/vlib/v/ast/types.v index f6ed74087..7dde4b4de 100644 --- a/vlib/v/ast/types.v +++ b/vlib/v/ast/types.v @@ -1421,6 +1421,9 @@ pub fn (t &Table) type_to_str_using_aliases(typ Type, import_aliases map[string] elem_str := t.type_to_str_using_aliases(info.elem_type, import_aliases) if info.size_expr is EmptyExpr { res = '[${info.size}]${elem_str}' + } else if info.size_expr is Ident { + size_str := t.shorten_user_defined_typenames(info.size_expr.name, import_aliases) + res = '[${size_str}]${elem_str}' } else { res = '[${info.size_expr}]${elem_str}' } diff --git a/vlib/v/fmt/tests/struct_fixed_array_ident_keep.vv b/vlib/v/fmt/tests/struct_fixed_array_ident_keep.vv new file mode 100644 index 000000000..cb2d171bd --- /dev/null +++ b/vlib/v/fmt/tests/struct_fixed_array_ident_keep.vv @@ -0,0 +1,11 @@ +import crypto.ed25519 + +struct SSHClientHello { + version u8 + public_key [ed25519.public_key_size]u8 +} + +fn main() { + a := SSHClientHello{} + assert a.public_key.len == ed25519.public_key_size +} -- 2.39.5