Specify library version as part of the headers #74
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dear @Tessil,
would you consider specifying the robin-map version as part of the header files?
I am the author of nanobind, a Python <-> C++ binding layer that uses robin-map in various internal data structures. Robin-map has been great, I am really happy with both design and performance.
nanobind pins a specific version of robin-map to ensure ABI compatibility. That way, multiple separately compiled C++ extensions can pool their internal data structures to exchange information about types and objects.
But one issue now that nanobind is being used by more people and different distributions is that they really don't like having a pinned dependency. They want to use the latest one available on the OS or package manager. That introduces the possibility of ABI contract violations.
Having an easily queriable
#define
as part of the robin map headers would make it easier to catch such future changes (perhaps unlikely, as this seems like a relatively stable project, but one can never be sure)