#undef NDEBUG #include #include #include int main() { boost::log::attribute_set set; for (auto ch='A'; ch <= 'z'; ++ch) { auto const key(std::string("key") + ch); auto const res(set.insert(key, boost::log::attributes::make_constant(5))); assert(res.second); // insertion succeeded assert(set.find(res.first->first) != set.end()); // and so did find for (auto const item: set) { // This issue has been fixed. assert(set.find(item.first) != set.end()); } } boost::log::attribute_set thread, global; boost::log::attribute_value_set vset(set, thread, global); for (auto const item: vset) { // But this one remains. assert(vset.find(item.first) != vset.end()); } return 0; }