From: Anderson A. Giacomolli Date: Fri, 6 Nov 2026 17:17:52 +0000 (-0300) Subject: Require field names in struct literals X-Git-Url: http://git.giacomolli.uk/onechat/commitdiff_plain/150e81034dc65943803924ef29962e2481ffe771?ds=sidebyside Require field names in struct literals Struct literals use field names, with one field on each line when more than one field is set, and table-driven test cases follow the same rule. The old rule applied only to keyed literals, so positional test cases with many fields on one line passed it. A small two-field type that acts as one value, such as a node key, can still use a positional literal. --- diff --git a/.agents/skills/go-code/SKILL.md b/.agents/skills/go-code/SKILL.md index 7de0a40..6b5a0ce 100644 --- a/.agents/skills/go-code/SKILL.md +++ b/.agents/skills/go-code/SKILL.md @@ -50,8 +50,11 @@ description: Go style rules. Use before you write or review Go code. test callbacks. - Do not use short `if` initializers. - Use a one-letter receiver name for each method. -- Put each field of a keyed struct literal on its own line when you set - more than one field. +- Use field names in struct literals. Put each field on its own line + when you set more than one field. This includes the cases of a + table-driven test. A small type of two fields that acts as one value, + such as a key or a coordinate pair, can use a positional literal on + one line. - Put an empty line between logical blocks, also after multiline declarations, assignments, literals, and calls. Keep an operation with its immediate error or result check. Keep a short declaration with its