Отключить проверку vet для "составного литерала использует неблокированные поля"

Я запускаю vet на свой инструмент CI и начал получать ошибку:

composite literal uses unkeyed fields

Потому что я создаю

type A struct {
   *B
}

вот так:

A{b} // b is of type *B

Я не забочусь об этом предупреждении и хочу отключить его на своих проверках. Как это сделать?

Ответ 1

$ go doc cmd/vet

По умолчанию выполняются все проверки. Если флаги установлены явно к true, выполняются только те тесты. И наоборот, если какой-либо флаг явно задано значение false, только те тесты отключены. таким образом -printf = true запускает проверку печати, -printf = false выполняет все проверки, кроме проверки печати. ​​

Unkeyed composite literals

Flag: -composites

Composite struct literals that do not use the field-keyed syntax.

Ответ 2

Вы можете отключить его или вместо этого исправить код:

a := A{B: b}

playground

Ответ 3

go tool vet -composites=false .

Ответ 4

Вы можете отключить его с помощью флага -composites=false: например,

go vet -composites=false .

Примечание: go tool vet устарело