Как я могу зарезервировать все значения перечисления в proto3? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть поле типа enum, которое я хотел бы объявить устаревшим. Клиенты не используют это поле или его тип enum. Я хочу зарезервировать все значения в этом перечислении, чтобы его нельзя было использовать повторно.

message Example {
    ...
    enum Foo {
        BAR = 0;
        BAZ = 1;
    }
    Foo foo = 42;
}

Моей первой мыслью было попытаться зарезервировать значения из 0 to max следующим образом:

message Example {
    ...
    enum Foo {
        reserved "BAR", "BAZ";
        reserved 0 to max;
    }
    reserved "foo";
    reserved 42;
}

Однако я получаю сообщение о том, что Foo должно содержать хотя бы одно значение. Можно ли как-то осудить целое перечисление, чтобы убедиться, что оно не используется повторно?

...