<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><div></div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><div class=""><div class="h5"><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Jun 15, 2017, at 18:35, Eric Fiselier <<a href="mailto:eric@efcs.ca" target="_blank" class="">eric@efcs.ca</a>> wrote:</div><br class="m_8776782733827039247Apple-interchange-newline"><div class=""><div dir="ltr" class="">It *shouldn't* include <string_view>, that's a given.<div class=""><br class=""></div><div class="">IIRC, and Marshall would know better, I believe it was untenable to</div><div class="">maintain a version of <string> that didn't depend on <string_view> after making</div><div class="">the changes required for C++17.</div><div class=""><br class=""></div><div class="">However inspecting <string> now it does seem possible that the entanglement</div><div class="">is avoidable.Though it's also likely I'm just not seeing the whole picture. </div><div class=""><br class=""></div><div class="">/Eric</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Jun 15, 2017 at 6:42 PM, Duncan P. N. Exon Smith<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:dexonsmith@apple.com" target="_blank" class="">dexonsmith@apple.com</a>></span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><span class=""><br class="">> On Jul 20, 2016, at 22:31, Marshall Clow via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>> wrote:<br class="">><br class="">> Modified: libcxx/trunk/include/string<br class="">> URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/string?rev=276238&r1=276237&r2=276238&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject/libcxx/trunk/include/str<wbr class="">ing?rev=276238&r1=276237&r2=<wbr class="">276238&view=diff</a><br class="">> ==============================<wbr class="">==============================<wbr class="">==================<br class="">><br class=""></span><span class="">> @@ -435,6 +461,7 @@ basic_string<char32_t> operator "" s( co<br class="">> */<br class="">><br class="">> #include <__config><br class="">> +#include <string_view><br class=""><br class=""></span>This breaks the following, valid, C++14 code:<br class=""><br class="">   <span class="Apple-converted-space"> </span>#include <string><br class="">   <span class="Apple-converted-space"> </span>#include <experimental/string_view><br class="">   <span class="Apple-converted-space"> </span>using namespace std;<br class="">   <span class="Apple-converted-space"> </span>using std::experimental::string_view<wbr class="">;<br class="">   <span class="Apple-converted-space"> </span>void f() { string_view sv; }<br class=""><br class="">Should <string> #include <string_view> even when we're not in C++17 mode?  Why?<br class=""><div class="m_8776782733827039247HOEnZb"><div class="m_8776782733827039247h5"><br class="">> #include <iosfwd><br class="">> #include <cstring><br class="">> #include <cstdio>  // For EOF.</div></div></blockquote></div></div></div></blockquote></div></div></div></div></div></blockquote></div></div></blockquote></div><br class=""></body></html>