id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11582,Regression with -Woverloaded-virtual in unit_test_log_t,Ben Wiederhake ,Gennadiy Rozental,"While trying to compile my code with ""-Woverloaded-virtual -Werror"", I found a shortcoming, possibly even a bug. In 1.59.0 (and, as far as I can see in git, all following versions), there are the following declarations/definitions: {{{ class test_observer /* boost/test/tree/observer.hpp:40 */ virtual void test_unit_skipped( test_unit const& tu, const_string) { test_unit_skipped( tu ); } virtual void test_unit_skipped( test_unit const& ) {} ///< backward compartibility class unit_test_log_t /* boost/test/unit_test_log.hpp:97 */ virtual void test_unit_skipped( test_unit const&, const_string ); /* Actually uses the message in the implementation */ /* Does not override Test_unit_skipped( test_unit const& ) */ }}} The problem with this code is that code like the following simply will not work: {{{ unit_test_log_t& foobar; test_unit const& tu; foobar.test_unit_skipped( tu ); // <-- Error! }}} g++ would say ""candidate expects 2 arguments, 1 provided"". clang++ is a tad more helpful, and would say: ""too few arguments to function call, expected 2, have 1; did you mean 'test_observer::test_unit_skipped'?"" In case you're unfamiliar with that behaviour, see this specific answer: http://stackoverflow.com/a/6035884/3070326 (Error messages are from a different compilation, but should be the same.) I hope I have now established that -Woverloaded-virtual ""has a point"". I don't fully understand why unit_test_log_t doesn't override the other signature, too; but it should be easily possible to override it with something like: {{{ test_unit_skipped( tu, """" ); }}} However, I do not yet fully understand the context of unit_test_log_t, so maybe such a call cannot occur. That's why I'm unable to make a patch from that idea. At the very least, this issue is annoying for people who use Boost.Test and try to compile with -Woverloaded-virtual. Note that Boost.Test 1.58.0 did *not* exhibit this issue, so I felt free to put ""regression"" in the subject and 'severity'. (PS: Thanks to Rene Rivera for redirecting me away from the mailing list, and Raffi Enficiaud for redirecting me to this trac.) ",Bugs,closed,To Be Determined,test,Boost Development Trunk,Problem,wontfix,,