24 Dec
2015
24 Dec
'15
8:09 a.m.
See http://stackoverflow.com/questions/34449254/how-is-argument-dependent-lookup... I found that code that has worked OK on previous versions of Boost (and does not have this issues with 1.59) is getting unexpected ambiguities in 1.60. Using boost::totally_ordered et al. (even as a private base) appears to be polluting the namespace in which the client class appears. Something like this: class C : boost::totally_ordered<C> { ⋯ } ; using std::make_shared; ⋮ auto p= make_shared<C>(args); this complains that it finds boost::make_shared via argument-dependent lookup, as well as the expected std::make_shared.