Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Seems like the free comparison function in boost rational should have been constrained to non-rationals

i.e. !is_same_v<rational, U>



The constraint should be `template <typename T> requires (!std::is_same_v<T, rational<>>)` since the spaceship operator's rewriting rules for mixed-type comparisons create the ambiguity that triggered the compiler bug.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: