You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Make CTAD deduce fixed-extent spans in more cases, matching std::span.
* Tweak a few `std::convertible_to`s back to `std::is_convertible_v`,
which is a slight behavior relaxation; this is primarily to match
std::span so we never have weird edge-case conversion issues.
* Be consistent about whether `constexpr` or `explicit` comes first.
(Purely aesthetic.)
* Make the array constructors take the type in a non-deduced context.
This matches the std::span fix for
https://cplusplus.github.io/LWG/issue3369 and ensures we won't
regress as we tweak CTAD etc.
* Remove `noexcept` on some constructors, again to match `std::span`.
Unconditionally using `noexcept` isn't necessarily desirable, even
though we disable exceptions. It can pessimize code (see
https://16bpp.net/blog/post/noexcept-can-sometimes-help-or-hurt-performance/),
and it's not advised by the Google Style Guide (see
https://google.github.io/styleguide/cppguide.html#noexcept), which
suggests only using it unconditionally on move constructors, and
testing real performance otherwise.
Bug: 364987728
Change-Id: I6e3060d4838b74388fc134055ac4a6d8a0354680
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5961259
Code-Coverage: [email protected] <[email protected]>
Auto-Submit: Peter Kasting <[email protected]>
Commit-Queue: Daniel Cheng <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1374024}
CrOS-Libchrome-Original-Commit: 594c8cc5372c4667579c5c6ca59a6f3f10be20ff
0 commit comments