-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Client
-
None
-
Minor Change
The BSON library is no longer useable as a header only library (one example, BSONObj depends by way of BSONObj::_assertInvalid on integerToHex, which is not inline, and only defined in libmongoclient.so; there are almost certainly other examples).
Since clients must now always link libmongoclient, the alternative assertion definitions in bson.h are ODR likely violations. We should remove the alternative assertion definitions from bson.h, and apply the {redef|unde\f}_macros as are done in dbclient.h