message: optional: CPP_template more functions whose constraints are IFNDR in non-concepts mode
diff: @@ -678,17 +678,15 @@ namespace ranges
  detail::move(**this);
  }
  - template<typename U>
  - constexpr auto value_or(U &&u) const & ->
  - CPP_ret(T)(
  + CPP_template(typename U)(
  requires CopyConstructible<T> && ConvertibleTo<U, T>)
  + constexpr T value_or(U &&u) const &
  {
  return has_value() ? **this : static_cast<T>((U &&)u);
  }
  - template<typename U>
  - constexpr auto value_or(U &&u) && ->
  - CPP_ret(T)(
  + CPP_template(typename U)(
  requires MoveConstructible<T> && ConvertibleTo<U, T>)
  + constexpr T value_or(U &&u) &&
  {
  return has_value() ? detail::move(**this) : static_cast<T>((U &&)u);
  }
  