https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79162

lucdanton at free dot fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lucdanton at free dot fr

--- Comment #6 from lucdanton at free dot fr ---
As a heads-up, deduction was possible when the constructor was a non-template:

    std::basic_string_view<CharT> sv = …;
    // produces an std::basic_string<CharT>
    auto into_string = std::basic_string { sv };

That made it possible to concisely convert a string view to its 'natural'
string
type, even in a generic context. (Unless I'm mistaken there is nothing in the
current basic_string_view interface that would allow to do the same, e.g.
sv.to_string().)

Now that's it a constrained constructor template, it looks like deduction picks
an std::initializer_list<CharT> constructor. So into_string ends up being an
std::basic_string<std::basic_string_view>.

Of course the only thing that is lost is conciseness, the user can resort to
any
of several other solutions.

Reply via email to