<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - libc++ std::span implementation missing constructor overload for iterator and sentinel"
   href="https://bugs.llvm.org/show_bug.cgi?id=51443">51443</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>libc++ std::span implementation missing constructor overload for iterator and sentinel
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libc++
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>12.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>enolan@alumni.cmu.edu
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, mclow.lists@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The constructor taking an iterator/sentinel seems to be missing from libc++'s
implementation of std::span.

Prototype:

template<class It, class End>
  constexpr explicit(extent != dynamic_extent) span(It first, End last);

Standard link (section 22.7.3.2):

<a href="http://eel.is/c++draft/views#lib:span,constructor__">http://eel.is/c++draft/views#lib:span,constructor__</a>

Example:

#include <span>
#include <string>

void foo() {
    std::string str{};
    std::span bar{str.begin(), str.end()};
}

The above code fails to compile on Clang 12.0.1 with -std=c++20 -stdlib=libc++,
but is accepted with -stdlib=libstdc++.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>