id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7361,Forbid compilation of leaking mistake.,mjklaim@…,Vladimir Prus,"I was adding program_option to my prorgam when I discovered a related leak. Fortunately it was false positive, but it pointed a hidden problem. I used: - Visual Studio 2012 - Boost 1.51.0 - Visual Leak Detector to detect the leak This, generate the leak: {{{ #include int main() { namespace bpo = boost::program_options; bpo::options_description options( ""Options"" ); options.add_options() ( ""test"" , ""Test."" ) , ( ""value"" , bpo::value(), ""Value."" ) ; } }}} The second option is leaking. The reason is because of the comma in the beginning of the line. I first added it by reflex when using function arguments so it took me some time to find what was leaking. Part of the time I spend was figuring out why it don't leak if you don't set a value type: {{{ #include int main() { namespace bpo = boost::program_options; bpo::options_description options( ""Options"" ); options.add_options() ( ""test"" , ""Test."" ) , ( ""value"" , ""Value."" ) // no leak but still wrong! ; } }}} The main problem I see with this is that it is compiled without any problem nor warning. So here is my question: Would it be possible to forbid comma operator with options_description_easy_init?",Support Requests,new,To Be Determined,program_options,Boost 1.51.0,Problem,,,