go-proto-validatorでis_in_enumを使ったときにコンパイルに失敗する

TL;DR

https://github.com/mwitkow/go-proto-validators の version 0.1.0 で、
ネストされているEnumに対して is_in_enum:True を設定するとエラーになる。 version 0.2.0 で解決された様子?だが、うまくいかない。。。

エラーメッセージ

C:\Go\Project\hoge\fuga\foo.pb.go:18:14: undeclared name: Belong_name
2019/09/25 15:33:54 Loading input failed: loading package failed

問題が発生するprotoファイル

item Person {
  string id = 1 [(validator.field) = {length_gt:0, msg_exists:true, string_not_empty:true}];
  string name = 2 [(validator.field) = {length_gt:0, length_lt:50, string_not_empty:true}];
  enum Belong {
    NONE = 0;
    COMPANY = 1;
    SCHOOL = 2;
    OTHER = 3;
  }
  Belong belong= 3 [(validator.field) = {msg_exists:true, is_in_enum:true}];
}

原因

version 0.1.0がネストされたEnumに対応していないことが原因の様子。 pb.go ファイルを生成するとき、Enumは下記のように NameValue の2つの変数に分けて定義される。

var Person_Belong_name = map[int32]string{
    0: "NONE",
    1: "COMPANY",
    2: "SCHOOL",
    3: "OTHER",
}

var Person_Belong_value = map[string]int32{
    "NONE":     0,
    "COMPANY":  1,
    "SCHOOL": 2,
    "OTHER":    3,
}

ここで変数名に注目して欲しいのだが、変数名は
{親のクラス名}_{自分のクラス名}_{name|value}
命名規則に則っている。

go-proto-validators はこの {親のクラス名} を追えないようで、 {自分のクラス名}_{name|value}
を探しに行ってしまう。そのため、参照エラーになる。

解決法

ネストしない。
ネストしているEnumを親クラスの外側に出す。

version 0.2.0でこの問題が解決したっぽい。 が、いまいちうまく生成できないのでとりあえずネストしない法でやりすごしている・・・