id summary reporter owner description type status milestone component version severity resolution keywords cc 5436 C++0x patch for boost::unit Chris Jefferson Matthias Schabel "The attached patch makes boost::unit work correctly in C++0x, by making the code NOT compile when a dimension ordinal is used more than once. At the moment this code is only needed in clang's c++0x mode, but it doesn't seem to break g++ c++03 or c++0x, so put it all the time. The technique currently used (friend functions being double declared) doesn't work any more in C++0x, as: C++03 says: When a function is defined in a friend function declaration in a class template, the function is defined at each instantiation of the class template. The function is defined even if it is never used. C++0x says: When a function is defined in a friend function declaration in a class template, the function is instantiated when the function is odr-used. The new technique makes functions with different return values, which still causes an error." Patches closed To Be Determined units Boost 1.47.0 Problem fixed