Support "-" tag.
diff --git a/decode_test.go b/decode_test.go index 5e5663b..83532f4 100644 --- a/decode_test.go +++ b/decode_test.go
@@ -125,6 +125,13 @@ // BUG #1133337 {"foo: ''", map[string]*string{"foo": new(string)}}, {"foo: null", map[string]string{}}, + + // Ignored field + {"a: 1\nb: 2\n", + &struct { + A int + B int "-" + }{1, 0}}, } func (s *S) TestUnmarshal(c *C) {
diff --git a/encode_test.go b/encode_test.go index f6a0d0f..1d63c02 100644 --- a/encode_test.go +++ b/encode_test.go
@@ -104,6 +104,13 @@ u int A int }{0, 1}}, + + // Ignored field + {"a: 1\n", + &struct { + A int + B int "-" + }{1, 2}}, } func (s *S) TestMarshal(c *C) {
diff --git a/goyaml.go b/goyaml.go index fa288c9..eb2a29f 100644 --- a/goyaml.go +++ b/goyaml.go
@@ -187,6 +187,9 @@ if tag == "" && strings.Index(string(field.Tag), ":") < 0 { tag = string(field.Tag) } + if tag == "-" { + continue + } // XXX Drop this after a few releases. if s := strings.Index(tag, "/"); s >= 0 {