2016-03-29 38 views
8

Ich bin unterwegs vet auf meinem CI-Tool ausgeführt wird, und begann mit der Störung zu erhalten:Disable go Tierarzt überprüft "composite wörtliche verwendet unverkeilten Felder"

composite literal uses unkeyed fields 

Weil ich

type A struct { 
    *B 
} 
Instanziieren

wie folgt aus:

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

ich für diese Warnung nicht kümmern, und möchte es Tierarzt prüft auf mein gehen deaktivieren. Wie mache ich das?

+2

Ich denke, das einen Fehler in "gehen Tierarzt" ist. Es gibt keine Zweideutigkeit in diesem Fall (nur ein Mitglied) und "gehe Tierarzt" sollte dies nicht als Problem melden. Gleiches gilt für mehrere Mitglieder mit inkompatiblen Typen. – dolmen

Antwort

10
$ go doc cmd/vet 

By default all checks are performed. If any flags are explicitly set to true, only those tests are run. Conversely, if any flag is explicitly set to false, only those tests are disabled. Thus -printf=true runs the printf check, -printf=false runs all checks except the printf check.

Unkeyed composite literals 

Flag: -composites 

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

können Sie die deaktivieren oder Sie können den Code korrigieren statt:

a := A{B: b} 

playground

+0

Ich glaube nicht, dass das funktioniert? – genxstylez

+0

@genxstylez http://play.golang.org/p/mW03O0Rl5I – OneOfOne

+0

Funktioniert perfekt, danke –