[libcxx-commits] [PATCH] D110503: [libc++] Implement P1394r4 for span: range constructor
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 27 14:52:39 PDT 2021
ldionne added a comment.
Thanks a lot for working on this!
I spoke with Joe on Discord and we agreed to make the change as-is, i.e. provide the constructors only when ranges are supported. That implies that compilers like AppleClang 12.0 (I think that's the only supported one) will NOT have the old `span(Container&)` constructors anymore, which is a breaking change. However, AppleClang 13.0 was released on September 20, which means that per our compiler support policy, we'd drop official support for 12.0. I'll get started on that but it does require upgrading Xcode on the CI nodes, and that's going to cause some problems for back-deployment testing. TL;DR: let's do as-if we didn't support 12.0 anymore and just mark the failing tests as XFAIL. I'll remove those XFAILs once we remove support for 12.0.
================
Comment at: libcxx/include/span:195
+#if !defined(_LIBCPP_HAS_NO_RANGES)
+template <class _Range, class _ElementType>
----------------
This should be
```
#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_RANGES)
```
That way, once we drop support for compilers that don't implement concepts, we'll just get rid of ` && !defined(_LIBCPP_HAS_NO_RANGES)` entirely.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D110503/new/
https://reviews.llvm.org/D110503
More information about the libcxx-commits
mailing list