syntax = "proto2";

enum EnumForOneof {
    A = 10;
}

message MessageForOneof {
    optional int32 f = 1;
}

message TestOneof {
    optional string s = 29;
    oneof one {
        double double_field = 1;
        float float_field = 2;
        int32 int32_field = 3;
        int64 int64_field = 4;
        uint32 uint32_field = 5;
        uint64 uint64_field = 6;
        sint32 sint32_field = 7;
        sint64 sint64_field = 8;
        fixed32 fixed32_field = 9;
        fixed64 fixed64_field = 10;
        sfixed32 sfixed32_field = 11;
        sfixed64 sfixed64_field = 12;
        bool bool_field = 13;
        string string_field = 14;
        bytes bytes_field = 15;
        EnumForOneof enum_field = 16;
        MessageForOneof message_field = 17;
    }
}
