[all-commits] [llvm/llvm-project] 7bdf41: [libc++] Remove conditional noexcepts from view_in...

Quuxplusone via All-commits all-commits at lists.llvm.org
Tue Feb 15 08:13:48 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7bdf41653c90a6f1802e79b12b52d2d55cb9bd8d
      https://github.com/llvm/llvm-project/commit/7bdf41653c90a6f1802e79b12b52d2d55cb9bd8d
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2022-02-15 (Tue, 15 Feb 2022)

  Changed paths:
    M libcxx/include/__ranges/view_interface.h
    M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp

  Log Message:
  -----------
  [libc++] Remove conditional noexcepts from view_interface.

As suggested in D117966.
These conditional noexcepts are *permitted* by the Standard (as long
as there were no mistakes in them, I guess); but not *mandated*.
The Standard doesn't put any noexcept-specifications on these member functions.
The same logic would apply to `transform_view::iterator::operator*`
and `transform_view::iterator::operator[]`, but the Standard mandates
conditional noexcept on `iter_move(transform_view::iterator)`, and
I think it doesn't make much sense to say "moving from this iterator
is conditionally noexcept but not-moving from it is noexcept(false),"
so I'm leaving transform_view alone for now.

Differential Revision: https://reviews.llvm.org/D119374




More information about the All-commits mailing list