feat: gate alloc/std features for no_std/no_alloc support

Gate generated code behind feature flags so consumers can build in
no_std/no_alloc environments:

- Runtime: gate RotoMessage, RotoOwned, BufMutBuilder behind alloc
- Codegen: split DATA_IMPORTS, gate Owned* structs + service code
- Fix RevBuilder::with() to iterate forward without Vec allocation
- Wire up bytes/std via alloc feature (Bytes requires Arc)
- Update consumer Cargo.toml files with proper feature chains
- Add no_std_test example for embedded validation
This commit is contained in:
2026-06-30 01:40:13 -04:00
parent 2ce65496ab
commit 2806772fd1
13 changed files with 304 additions and 955 deletions
+8 -2
View File
@@ -3,7 +3,13 @@ name = "no_std_test"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = ["staticlib"]
[dependencies]
roto-runtime = { path = "../../runtime", default-features = false }
prost = "0.13"
bytes = "1.8"
bytes = { version = "1.8", default-features = false, optional = true }
[features]
default = ["alloc"]
alloc = ["roto-runtime/alloc", "bytes"]