<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/68671>68671</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            `<mdspan>`: `std::extents`'s CTAD unconditionally constrains argument types to be default-constructible
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hewillk
      </td>
    </tr>
</table>

<pre>
    https://github.com/llvm/llvm-project/blob/f5031c655ddab72bdeccf5f830a17448926254e2/libcxx/include/__mdspan/extents.h#L457-L459


..which rejects the following code:

https://godbolt.org/z/47vfGne7s

```cpp
#include <mdspan>

struct S {
  S(size_t);
  operator size_t() const noexcept;
};

int main() {
  int* p;
  std::mdspan ms(p, S{3}); // ok
  std::extents exts(S{3}); // error
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU8tyqzgQ_Zpmo4pLNC-xYOHEw2yyy-xTejRGE1mikIidfP0tbCdxcu_mVlECunW6z-mHjNHuPVEH1T1Uu0wuaQxzN9LROveSqWDeujGlKUKxBewB-71N46I2OhwAe-deP1530xz-J50Ae-WCAuyHihe5rqvKGKkaVIa0HqpBFFzmTVmKFmusSsI1gFX6dALsrdduMQTYPz8fTJykB-zplMinuBkBi8eyau4ey6oFvgO-vT03m-No9chmWnlElkZiQ3AuHK3fMx0MrSJuAD-EBaOCS5sw7wH7d8C-bF6Hfz018Vuuml8ePU1XCxZX2gyKhyvr4p9bUEzzohN7YtDcXyyMPQGKaN_pOQG2UHzaw0SzTGFmH04B2DIdfEzMBzppmtLndWh2X9_n0_rEDtL6K-4mofUJcMumm1wxmVV_sb2wZocIKCbAB_YEzX2xRj9zY5cSsfDyG_LaHEantIL_jKN5DvMX4--FzExXmLZoZUZdXrd1i6XAMhu7ahAqV7wRUgskbbis1SAahVhVuRzazHbIsch5zrngPG83QvO84KbWyoiyaQWUnA7Sus06oWtnMxvjQl0t6ibPnFTk4nn0ET0d2dkJiOsmzN15qtWyj1ByZ2OKX1GSTY66lf5tw9ffLYOa_yzO6sEmsof_tju2eB28sckGL517u3R2ltZHJuf9ciCfWHqbKLIUmCJmaJCLS3eXe4tOVjnKltn9_WKe9UXA_qz_VwAAAP__rLsuVQ">