syntax = "proto3";

package enum;

enum Enum {
    C = 0;
    D = 1;
}

message Message {
    enum Enum {
        A = 0;
        B = 1 [deprecated=true];
    }

    Enum value = 1;
}

message Message2 {
    enum InnerEnum {
        E = 0;
        F = 1;
    }

    Enum outer = 1;
    InnerEnum inner = 2;
}

message Limits {
    enum Enum {
        G = 0;
        H = -2147483648;
        I = 2147483647;
    }

    Enum value = 1;
}

message AllowAlias {
    enum Enum {
        // Always allow aliases for now.
        A = 0;
        B = 1;
        C = 1;
    }

    Enum value = 1;
}
