[libcxx-commits] [libcxx] [libc++][ranges] LWG3618: Unnecessary `iter_move` for `transform_view::iterator` (PR #91809)

Xiaoyang Liu via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jul 4 22:16:11 PDT 2024


================
@@ -37,7 +37,7 @@ int main(int, char**) {
     using View = std::ranges::transform_view<MoveOnlyView, PlusOneNoexcept>;
     View transformView(MoveOnlyView{buff}, PlusOneNoexcept{});
     assert(*transformView.begin() == 1);
-    LIBCPP_ASSERT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
+    ASSERT_NOEXCEPT(*std::declval<std::ranges::iterator_t<View>>());
----------------
xiaoyang-sde wrote:

The `operator*` previously provided a `noexcept` specifier as a libc++ extension. Following the adoption of this LWG issue, the `noexcept` specifier is now standard behavior.


https://github.com/llvm/llvm-project/pull/91809


More information about the libcxx-commits mailing list