Date
2016-08-04.00:00:00
Message id
8430

Content

[ 2016-08-04 Chicago LWG ]

Robert Douglas provides initial wording.

We decided against another constructor overload to avoid the semantic confusion between:

basic_string(char const*, size_type length, Allocator = Allocator())

and

template<class T, class Foo = is_convertible_v<T const&, basic_string_view<charT, traits>>
basic_string(T const&, size_type pos, Allocator = Allocator())

where someone might call:

basic_string("HelloWorld", 5, 5);

and get "World", but then call

basic_string("HelloWorld", 5);

and instead get "Hello". The second parameter changes between length and position.