• Nobuaki Sukegawa's avatar
    Make C++ string oneof field compatible with C++11 · 2413cb57
    Nobuaki Sukegawa authored
    string oneof field was generated into "const ArenaStringPtr" field inside
    "default_oneof_instance_" struct (of name "<class name>OneofInstance").
    
    On the other hand, in C++11, const field of type with trivial default
    constructor causes enclosing type's implicit default constructor to be deleted.
    
    Since ArenaStringPtr has tirvial default constructor, this caused default
    constructor of "default_oneof_instance_" struct to be deleted, making the
    constructor call inside generated code invalid and fail to compile.
    2413cb57
cpp_string_field.cc 33.5 KB