From f1ebfb2d42208ab28bc59e24ed1783c0c2e1cbb4 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Mon, 25 Jul 2022 17:25:37 +0300 Subject: [PATCH] cgen: str:skip field --- vlib/v/gen/c/auto_str_methods.v | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vlib/v/gen/c/auto_str_methods.v b/vlib/v/gen/c/auto_str_methods.v index 6c4f55243d..cd9541dd12 100644 --- a/vlib/v/gen/c/auto_str_methods.v +++ b/vlib/v/gen/c/auto_str_methods.v @@ -846,6 +846,15 @@ fn (mut g Gen) gen_str_for_struct(info ast.Struct, styp string, str_fn_name stri fn_body.writeln('\tstring res = str_intp( ${info.fields.len * 4 + 3}, _MOV((StrIntpData[]){') fn_body.writeln('\t\t{_SLIT("$clean_struct_v_type_name{\\n"), 0, {.d_c=0}},') for i, field in info.fields { + // Skip `str:skip` fields + if attr := field.attrs.find_first('str') { + if attr.arg == 'skip' { + fn_body.writeln('{_SLIT(""), 0, {.d_c=0}},') + fn_body.writeln('{_SLIT(""), 0, {.d_c=0}},') + continue + } + } + ftyp_noshared := if field.typ.has_flag(.shared_f) { field.typ.deref().clear_flag(.shared_f) } else {