https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94765
Bug ID: 94765 Summary: Floating point type template parameter Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: emmanuel.le-tr...@cnrs-orleans.fr Target Milestone: --- With C++20, non-type template parameters can now be any scalar type[0] which include floating point types[1]. So this template <double> struct S {}; should compile. The rules for type equivalence are straightforward[2] [0] http://eel.is/c++draft/temp#param-6 [1] http://eel.is/c++draft/basic.types#9 [2] http://eel.is/c++draft/temp.type#2