Skip to content

fix: don't allow multiple service registrar functions per plugin dynlib

Georgy Moshkin requested to merge gmoshkin/plugin-only-one-registrar into master

Summary

  • fix: don't allow multiple service restrar functions per plugin dynlib

Currently #[picoplugin::interface::plugin_registrar] proc macro has an implicit depency on the linkme crate which forces the client code to add this dependency. This could be solved by reexporting linkme from picoplugin, but a better solution is to not use linkme at all. We used linkme so that the client code could define multiple service registrar functions in their library, but unless I'm missing something, nobody actually wants to define multiple reigstrars. It's simpler for both the plugin author and for picodata developers if there's just one service registrar per dynamic library.

  • Cherry-pick to: none
  • Docs follow-up: not necessary

Merge request reports