id summary reporter owner description type status milestone component version severity resolution keywords cc 11803 Fails with closed intervals fails in some border cases. shewitt.au@… Joachim Faulhaber "ICL seems not to handle sets that contain the maximum element of the domain type. I have attached a file that shows the problem. The problem is in the fie \boost\icl\concept\interval.hpp (line 1145) in the left_subtract. It should look like this: {{{ template typename boost::enable_if, Type>::type left_subtract(Type right, const Type& left_minuend) { if(exclusive_less(left_minuend, right)) return right; else if(upper_less_equal(right, left_minuend)) return identity_element::value(); return construct(domain_next(upper(left_minuend)), upper(right)); } }}} Where as it actually looks like this: {{{ template typename boost::enable_if, Type>::type left_subtract(Type right, const Type& left_minuend) { if(exclusive_less(left_minuend, right)) return right; return construct(domain_next(upper(left_minuend)), upper(right)); } }}} The right subtract function is ok. The comment for the left_subtract functions is also wrong. ""Return the difference: The part of \c right '''right''' of \c left_minuend."" The word ""right"" in BOLD should read ""left""." Bugs closed To Be Determined ICL Boost 1.59.0 Showstopper fixed