<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Nov 2, 2014, at 10:35 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p dir="ltr"><br>
On Nov 2, 2014 7:49 AM, "Marshall Clow" <<a href="mailto:mclow.lists@gmail.com">mclow.lists@gmail.com</a>> wrote:<br>
><br>
> Author: marshall<br>
> Date: Sun Nov 2 09:35:32 2014<br>
> New Revision: 221101<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=221101&view=rev">http://llvm.org/viewvc/llvm-project?rev=221101&view=rev</a><br>
> Log:<br>
> Mark string_view::to_string as const. Fixes PR21428<br>
><br>
> Modified:<br>
> libcxx/trunk/include/experimental/string_view<br>
> libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp<br>
><br>
> Modified: libcxx/trunk/include/experimental/string_view<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/string_view?rev=221101&r1=221100&r2=221101&view=diff">http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/string_view?rev=221101&r1=221100&r2=221101&view=diff</a><br>
> ==============================================================================<br>
> --- libcxx/trunk/include/experimental/string_view (original)<br>
> +++ libcxx/trunk/include/experimental/string_view Sun Nov 2 09:35:32 2014<br>
> @@ -349,7 +349,8 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS<br>
><br>
> template<class _Allocator = allocator<_CharT> ><br>
> _LIBCPP_INLINE_VISIBILITY<br>
> - basic_string<_CharT, _Traits, _Allocator> to_string( const _Allocator& __a = _Allocator())<br>
> + basic_string<_CharT, _Traits, _Allocator><br>
> + to_string( const _Allocator& __a = _Allocator()) const<br>
> { return basic_string<_CharT, _Traits, _Allocator> ( begin(), end(), __a ); }<br>
><br>
> size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const<br>
><br>
> Modified: libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp?rev=221101&r1=221100&r2=221101&view=diff">http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp?rev=221101&r1=221100&r2=221101&view=diff</a><br>
> ==============================================================================<br>
> --- libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp (original)<br>
> +++ libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp Sun Nov 2 09:35:32 2014</p><p dir="ltr">Perhaps I'm missing something, but neither of these test changes appear to test the code that was changed - they look like they're testing for the conversion operator, not the to_string member function?</p><div></div></blockquote><div><br></div><div>David -</div><div><br></div><div>It doesn’t show in the diff, but there are calls to to_string later in this file.</div><div>The updated tests fail w/o the “const” in <string_view>, and pass with it.</div><div><br></div><div><div> {</div><div> const std::experimental::basic_string_view<CharT> sv1 ( s );</div><div> String str1 = (String) sv1;</div><div> </div><div> assert ( sv1.size() == str1.size ());</div><div> assert ( std::char_traits<CharT>::compare ( sv1.data(), str1.data(), sv1.size()) == 0 );</div><div><br></div><div>#if __cplusplus >= 201103L</div><div> auto str2 = sv1.to_string(min_allocator<CharT>());</div><div> assert ( sv1.size() == str2.size ());</div><div> assert ( std::char_traits<CharT>::compare ( sv1.data(), str2.data(), sv1.size()) == 0 );</div><div>#endif</div><div> }</div><div><br></div></div></div>— Marshall<div><br></div><div><br></div></body></html>