id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5855,narrowing conversion error with -std=c++0x in operator< with int_type != int,mlang@…,Jonathan Turkanis,"With GCC (4.6) and -std=c++0x, there are several narrowing conversion errors in operator< if int_type is different from int, for example, short int. Example: #include int main() { return boost::rational() < boost::rational(); } Error output: /tmp/boost/boost/rational.hpp: In member function ‘bool boost::rational::operator<(const boost::rational&) const [with IntType = short int]’: /tmp/boost/boost/rational.hpp:393:39: error: narrowing conversion of ‘(((int)((const boost::rational*)this)->boost::rational::num) / ((int)((const boost::rational*)this)->boost::rational::den))’ from ‘int’ to ‘boost::rational::int_type {aka short int}’ inside { } [-fpermissive] /tmp/boost/boost/rational.hpp:393:39: error: narrowing conversion of ‘(((int)((const boost::rational*)this)->boost::rational::num) % ((int)((const boost::rational*)this)->boost::rational::den))’ from ‘int’ to ‘boost::rational::int_type {aka short int}’ inside { } [-fpermissive] ...",Bugs,closed,To Be Determined,rational,Boost Development Trunk,Problem,fixed,,