Skip to content

🚩 introspection & service features now no_std#222

Merged
zeenix merged 3 commits intoz-galaxy:mainfrom
zeenix:service-dont-need-std
Feb 9, 2026
Merged

🚩 introspection & service features now no_std#222
zeenix merged 3 commits intoz-galaxy:mainfrom
zeenix:service-dont-need-std

Conversation

@zeenix
Copy link
Collaborator

@zeenix zeenix commented Feb 9, 2026

  • 🚩 core: Feature-gate std-only introspect Type impls
  • 🚩 core,tokio,smol: Remove std requirement from introspection
  • 🚩 macros: Reject FD attributes in service macro without std

zeenix and others added 3 commits February 9, 2026 21:38
Gate the following Type implementations behind `#[cfg(feature = "std")]`:

- collections: HashMap, HashSet (not available in alloc)
- special: Instant, SystemTime, PathBuf, Path, OsString, OsStr
- wrappers: Rc, Arc, Cow

This allows the introspection feature to work in no_std environments,
with only these std-specific type implementations unavailable.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove `std` from `introspection` feature in zlink-core
- Remove `introspection` from `service` feature in all crates

The introspection feature no longer requires std since std-only Type
implementations are now feature-gated. The service feature no longer
pulls in introspection, allowing service to work in no_std environments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add compile-time validation that rejects `#[zlink(fds)]` and
`#[zlink(return_fds)]` attributes when the `std` feature is disabled.

FD passing requires Unix file descriptors which are only available
with std, so these attributes should produce a clear error message
in no_std environments rather than failing later with confusing errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@zeenix zeenix enabled auto-merge February 9, 2026 20:51
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 9, 2026

CodSpeed Performance Report

Merging this PR will not alter performance

Comparing zeenix:service-dont-need-std (44c7f4d) with main (290e7d3)

Summary

✅ 4 untouched benchmarks

@zeenix zeenix merged commit 42a9024 into z-galaxy:main Feb 9, 2026
15 checks passed
@zeenix zeenix deleted the service-dont-need-std branch February 9, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant