https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94498
Bug ID: 94498 Summary: std::basic_string_view::copy not qualified constexpr in c++2a Product: gcc Version: 9.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: takechi101010 at gmail dot com Target Milestone: --- Following code fails to compile: ```c++ #include <iostream> #include <fstream> #include <string_view> constexpr size_t copy(std::string_view str, char* dst) { return str.copy(dst, 1); } int main() { std::string_view str = "aaaa"; char a[2]; copy(str, a); std::cout << a[0] << std::endl; } ``` with: ``` prog.cc: In function 'constexpr size_t copy(std::string_view, char*)': prog.cc:6:20: error: call to non-'constexpr' function 'std::basic_string_view<_CharT, _Traits>::size_type std::basic_string_view<_CharT, _Traits>::copy(_CharT*, std::basic_string_view<_CharT, _Traits>::size_type, std::basic_string_view<_CharT, _Traits>::size_type) const [with _CharT = char; _Traits = std::char_traits<char>; std::basic_string_view<_CharT, _Traits>::size_type = long unsigned int]' 6 | return str.copy(dst, 1); | ~~~~~~~~^~~~~~~~ ``` https://wandbox.org/permlink/pNreqN8l5RPdPlTZ