Merge pull request #156 from sourcegraph/go16-embedded-unexported-fields

Parse unexported embedded option struct fields in Go 1.6 (consistent w/pre-Go 1.6)
diff --git a/group.go b/group.go
index 0a40b39..078a765 100644
--- a/group.go
+++ b/group.go
@@ -187,7 +187,7 @@
 		field := stype.Field(i)
 
 		// PkgName is set only for non-exported fields, which we ignore
-		if field.PkgPath != "" {
+		if field.PkgPath != "" && !field.Anonymous {
 			continue
 		}
 
diff --git a/parser_test.go b/parser_test.go
index fe6865c..b57dbee 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -471,3 +471,17 @@
 	assertParseSuccess(t, &opts, "--choose", "v2")
 	assertString(t, opts.Choice, "v2")
 }
+
+func TestEmbedded(t *testing.T) {
+	type embedded struct {
+		V bool `short:"v"`
+	}
+	var opts struct {
+		embedded
+	}
+
+	assertParseSuccess(t, &opts, "-v")
+	if !opts.V {
+		t.Errorf("Expected V to be true")
+	}
+}