paul wrote:
Of course, adding the version doesn't prevent the scenario you mention. They could just reinstall a whole new version of boost 1.65 and the libraries that were built against boost 1.64 would be broken.
I'm talking about Boost libraries here, not theirs. Boost library X 1.64.0 is built against Boost library Y 1.64.0. You update Y to 1.65.0, X is now broken.
If you change your dependencies, you would most likely change the library that depend on those as well.
You should, but if you don't, nobody will tell you. That's the point of requesting a specific dependency version - if you forget to update the other libraries, you get an error.
Even if they didn't rebuild, it doesn't always mean it would lead to an ODR violation, as the change could only affect some assert macros that are not used in the definition.
Yeah, sure, it's often asymptomatic. That's half of the fun. And of course boost_assert here is an example. I'm not talking about boost_assert specifically.