rsmith added inline comments.

================
Comment at: include/string_view:577
+       bool starts_with(basic_string_view __s) const _NOEXCEPT
+       { return size() >= __s.size() && compare(0, __s.size(), __s) == 0; }
+
----------------
mclow.lists wrote:
> rsmith wrote:
> > Is this a conforming implementation? The `size()` check isn't part of the 
> > specification, and `compare` could run arbitrary user-supplied code, so the 
> > absence of a call to it seems observable.
> > 
> > Don't get me wrong: I think this check is the right thing to do, and it 
> > only makes a difference if `traits::compare` has observable side-effects. 
> > But we should file a bug against the standard to get this check added there.
> The code as specified in the paper has a bug in it ;-)
> I'll be filing an LWG issue once we have a draft standard with these bits in 
> it.
You can get a copy of the new draft a few days early from here: 
https://github.com/cplusplus/draft/blob/master/papers/n4713.pdf


https://reviews.llvm.org/D40586



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to