Context
server::ServiceInfo and server::EventGroupInfo are currently cfg(feature = "std")-gated. Their pub fields hold Vec<Subscriber> / Vec<EventGroupInfo>, so they cannot be constructed in no_std builds even with allocator available.
Bare-metal consumers don't construct these types today — there is no triggering use case.
Goal
When a bare-metal consumer needs to construct or read these types, switch the Vec<...> fields to heapless::Vec<..., N> with a sized capacity, drop the cfg(feature = "std") gate, and re-export from server::* unconditionally.
Subscriber is unaffected and stays no_std.
Triggering condition
This issue stays open until a real consumer asks for the types in a bare-metal build. Don't speculatively size the heapless caps.
Context
server::ServiceInfoandserver::EventGroupInfoare currentlycfg(feature = "std")-gated. Theirpubfields holdVec<Subscriber>/Vec<EventGroupInfo>, so they cannot be constructed inno_stdbuilds even with allocator available.Bare-metal consumers don't construct these types today — there is no triggering use case.
Goal
When a bare-metal consumer needs to construct or read these types, switch the
Vec<...>fields toheapless::Vec<..., N>with a sized capacity, drop thecfg(feature = "std")gate, and re-export fromserver::*unconditionally.Subscriberis unaffected and stays no_std.Triggering condition
This issue stays open until a real consumer asks for the types in a bare-metal build. Don't speculatively size the heapless caps.