Skip to content

Export the plugin door only behind the dropped-in feature - #15

Closed
MattJackson wants to merge 1 commit into
devfrom
lane-door-export-gated
Closed

MattJackson wants to merge 1 commit into
devfrom
lane-door-export-gated

Conversation

@MattJackson

Copy link
Copy Markdown
Contributor

The C entry symbol busbar_plugin_door is now exported only by the dropped-in cdylib build, never by an rlib a busbar build links as a compiled-in row (spec Part 2 #2, compiled-in = dropped-in, one table). export_door! sat unconditionally in this plugin crate, whose crate-type includes rlib; linking two such crates (or one beside its own cdylib) into one binary defines the symbol twice under lto = "fat".

  • dropped-in = [] feature on the -plugin crate; export_door! is #[cfg(feature = "dropped-in")], the same shape as busbar-transport-ws.
  • The crate names itself as a dev-dependency with dropped-in on, so cargo test still builds the cdylib the conformance test opens.
  • Behaviour otherwise unchanged. The dropped-in artifact is now built with --features dropped-in (busbar plugin-release.yml/plugin-ci.yml build -p $CRATE and need to pass it).
  • No new third-party dependency; Cargo.lock gains the self dev-dependency edge only.

@MattJackson

Copy link
Copy Markdown
Contributor Author

Closed as superseded (ARCHITECT ruling 2026-10-03): #17 (lane-store-cold-boot) set the door exports for the busbar the pin boots. Note: gating export_door! behind dropped-in is not on dev. It comes back with the repin past busbar #433/#442.

@MattJackson MattJackson closed this Oct 3, 2026
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