Skip to content

windows-reactor remove unnecessary ops registry thread local#4567

Merged
kennykerr merged 1 commit into
masterfrom
reactor-remove-ops-registry
Jun 11, 2026
Merged

windows-reactor remove unnecessary ops registry thread local#4567
kennykerr merged 1 commit into
masterfrom
reactor-remove-ops-registry

Conversation

@kennykerr

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes the windows-reactor attached-prop ops registry thread-local by moving clone/eq behavior into a trait-object vtable, reducing per-thread state and simplifying AttachedProps cloning/equality. Also updates the reactor internals documentation to reflect the removal and clarifies which remaining thread-locals are blocked by the current public free-function API surface.

Changes:

  • Replaced AttachedProps storage from Box<dyn Any> + TLS ops registry to Box<dyn AttachedValue> with clone_box/eq_box in the vtable.
  • Removed register_ops/ops_for and the OPS_REGISTRY thread_local! from modifiers.rs.
  • Updated docs/reactor-internals.md to remove the OPS_REGISTRY entry and note why some TLS values are harder to eliminate.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
docs/reactor-internals.md Removes OPS_REGISTRY from the thread-local inventory and updates optimization notes to match the new design.
crates/libs/reactor/src/core/modifiers.rs Eliminates the OPS_REGISTRY thread-local by embedding clone/eq into a trait-object vtable for AttachedProps.

@kennykerr kennykerr merged commit 7c3b82b into master Jun 11, 2026
31 checks passed
@kennykerr kennykerr deleted the reactor-remove-ops-registry branch June 11, 2026 19:08
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.

2 participants