id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6513,assignment vs comparison in unit test,Ulrich Eckhardt ,az_sw_dude,"In file date_time\test\gregorian\testdate_input_facet.cpp is the following line: {{{ check(""No extra characters consumed"", m = greg_month(Mar) && *sitr == '.'); }}} Compiling with VC8 gives a warning C4800: 'unsigned short' : forcing value to bool 'true' or 'false' (performance warning). I believe the problem is that m is being assigned to, so that the actual expression being given to check() or operator&& is m, which is converted to a boolean. I would also split the test into two lines, just for clarity: {{{ check(""Correct input"", m == greg_month(Mar)); check(""No extra characters consumed"", *sitr == '.'); }}} I found this bug in 1.48, but it is still present in the trunk, even though in the trunk the tests were converted from the ad-hoc test framework to Boost's general test framework. It might apply to other versions, too. ",Bugs,closed,To Be Determined,date_time,Boost 1.48.0,Problem,fixed,,