syntax = "proto3"; package roto.test; // A comprehensive message containing all primitive types and complex structures // to test the proto-to-rust codegen and runtime accessors. message ComplexMessage { // --- Floating Point --- double d_val = 1; float f_val = 2; // --- Integers (Variable Length) --- int32 i32_val = 3; int64 i64_val = 4; uint32 u32_val = 5; uint64 u64_val = 6; sint32 si32_val = 7; sint64 si64_val = 8; // --- Integers (Fixed Length) --- fixed32 fx32_val = 9; fixed64 fx64_val = 10; sfixed32 sfx32_val = 11; sfixed64 sfx64_val = 12; // --- Other Primitives --- bool b_val = 13; string s_val = 14; bytes bytes_val = 15; // --- Enumerations --- enum Status { UNKNOWN = 0; ACTIVE = 1; INACTIVE = 2; DELETED = 3; } Status status = 16; // --- Repeated Fields --- // Testing packed primitives and non-packed types repeated int32 repeated_i32 = 17; repeated string repeated_string = 18; repeated NestedMessage repeated_nested = 19; // --- Nested Messages --- message NestedMessage { int32 id = 1; string name = 2; bool active = 3; } NestedMessage single_nested = 20; }