https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101870
Bug ID: 101870 Summary: std::lerp is missing Arithmetic overloads Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: konstantinua00 at gmail dot com Target Milestone: --- According to C++20 standard paragraph 20.8.1.2, std::lerp is not an exception to expansion of acceptable parameters to integral and mixed floating point types. I.e. overload 4) from https://en.cppreference.com/w/cpp/numeric/lerp is missing. Example code (compile with -std=c++20): #include<cmath> int main() { std::lerp(int{},int{},int{}); std::lerp(float{}, double{}, (long double)0); } https://godbolt.org/z/3PqP9M4GE Current behaviour: Does not compile with: "error: call of overloaded 'lerp(int, int, int)' is ambiguous" and "error: call of overloaded 'lerp(float, double, long double)' is ambiguous". Expected behaviour: Compilation with no issues.