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
+4 -1
View File
@@ -4,10 +4,13 @@ version = "0.1.0"
edition = "2024"
[features]
alloc = []
default = ["std"]
std = ["roto-runtime/std", "alloc"]
alloc = ["roto-runtime/alloc"]
[dependencies]
roto-runtime = { path = "../runtime" }
bytes = "1.7"
clap = { version = "4", features = ["derive"] }
log = "0.4"
env_logger = "0.11"