diff --git a/include/boost/core/detail/string_view.hpp b/include/boost/core/detail/string_view.hpp index 1d89b8b..2236545 100644 --- a/include/boost/core/detail/string_view.hpp +++ b/include/boost/core/detail/string_view.hpp @@ -392,7 +392,7 @@ public: #if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) - basic_string_view( std::basic_string_view > const& str ) BOOST_NOEXCEPT: p_( str.data() ), n_( str.size() ) + BOOST_CONSTEXPR basic_string_view( std::basic_string_view > const& str ) BOOST_NOEXCEPT: p_( str.data() ), n_( str.size() ) { } diff --git a/test/sv_construct_test.cpp b/test/sv_construct_test.cpp index 3da015b..b8d42a0 100644 --- a/test/sv_construct_test.cpp +++ b/test/sv_construct_test.cpp @@ -30,6 +30,11 @@ template std::reverse_iterator make_reverse_iterator( It it ) return std::reverse_iterator( it ); } +// Verify that the constructor from std::string_view can be called in a constexpr context +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) +static_assert(!boost::core::string_view(std::string_view("abc", 3)).empty()); +#endif + int main() { {