Update README supported features list

Move oneof, map, and default value support from unsupported to
supported features.
This commit is contained in:
2026-05-08 23:47:41 -07:00
parent 6e045fd808
commit 3280092e08
+4 -5
View File
@@ -306,14 +306,13 @@ The goal is to validate roto's implementation against the Proto3 specification.
- **Messages**: Top-level and nested message definitions. - **Messages**: Top-level and nested message definitions.
- **Enums**: Enum definitions with `from_i32` conversion. - **Enums**: Enum definitions with `from_i32` conversion.
- **Field Labels**: Singular and `repeated` fields. - **Field Labels**: Singular and `repeated` fields.
- **Field Presence**: No `has_field()` methods are generated to distinguish between a field being absent and a field being set to its default value.
- **`oneof` Fields**: Generates enums that allow checking which field is set.
- **`map` Fields**: Iterator over underlying key/value pairs.
- **Default Values**: There is an option to select the default value for each field.
### Unsupported Features ### Unsupported Features
- **Default Values**: Missing fields return `RotoError::FieldNotFound` instead of the Proto3 default value (e.g., `0` or `""`).
- **Field Presence**: No `has_field()` methods are generated to distinguish between a field being absent and a field being set to its default value.
- **`oneof` Fields**: Not currently supported in code generation.
- **`map` Fields**: Not currently supported.
- **Packed Repeated Fields**: `roto` expects individual tags for all repeated elements; it does not support the packed encoding used for scalar numeric types in Proto3.
- **Reserved Fields**: `reserved` statements are ignored. - **Reserved Fields**: `reserved` statements are ignored.
- **Services**: `service` and `rpc` definitions are ignored. - **Services**: `service` and `rpc` definitions are ignored.
- **Options**: Field and message options are ignored. - **Options**: Field and message options are ignored.