EricWF added inline comments.

================
Comment at: include/string:782
     _LIBCPP_INLINE_VISIBILITY
     basic_string(const value_type* __s, size_type __n);
     _LIBCPP_INLINE_VISIBILITY
----------------
rsmith wrote:
> Did you skip this one intentionally?
Yes. `size_type`  is a typedef for `allocator_traits<Allocator>::size_type`, 
This causes the `basic_string(CharT*, Allocator const&)` to always be chosen 
instead, resulting in a incorrect allocator type.


================
Comment at: include/string:788
     _LIBCPP_INLINE_VISIBILITY
     basic_string(size_type __n, value_type __c, const allocator_type& __a);
     basic_string(const basic_string& __str, size_type __pos, size_type __n,
----------------
rsmith wrote:
> Likewise these two.
I thought they would suffer the same fate as the above overload but that is not 
the case. I'll update after reviewing each constructor.


================
Comment at: include/string:812
     _LIBCPP_INLINE_VISIBILITY
     basic_string(initializer_list<value_type> __il, const allocator_type& __a);
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
----------------
rsmith wrote:
> And these
Just making sure I was on the right track first.


https://reviews.llvm.org/D29863



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

Reply via email to