Skip to content

Commit e01e7f2

Browse files
Fix whitespace, add a couple of tests for [[clang::lifetimebound]] annotations in libc++, and avoid erroring on lifetimebound warnings in libcxx test code
1 parent 7096687 commit e01e7f2

File tree

14 files changed

+281
-98
lines changed

14 files changed

+281
-98
lines changed

libcxx/include/__expected/expected.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,8 @@ class expected : private __expected_base<_Tp, _Err> {
722722

723723
template <class _Up, class... _Args>
724724
requires is_nothrow_constructible_v<_Tp, initializer_list<_Up>&, _Args...>
725-
_LIBCPP_HIDE_FROM_ABI constexpr _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) noexcept _LIBCPP_LIFETIMEBOUND {
725+
_LIBCPP_HIDE_FROM_ABI constexpr _Tp&
726+
emplace(initializer_list<_Up> __il, _Args&&... __args) noexcept _LIBCPP_LIFETIMEBOUND {
726727
this->__destroy();
727728
this->__construct(in_place, __il, std::forward<_Args>(__args)...);
728729
return this->__val();

libcxx/include/__tree

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -962,7 +962,9 @@ private:
962962
public:
963963
_LIBCPP_HIDE_FROM_ABI const size_type& size() const _NOEXCEPT { return __size_; }
964964
_LIBCPP_HIDE_FROM_ABI value_compare& value_comp() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return __value_comp_; }
965-
_LIBCPP_HIDE_FROM_ABI const value_compare& value_comp() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return __value_comp_; }
965+
_LIBCPP_HIDE_FROM_ABI const value_compare& value_comp() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
966+
return __value_comp_;
967+
}
966968

967969
public:
968970
_LIBCPP_HIDE_FROM_ABI __node_pointer __root() const _NOEXCEPT {
@@ -995,9 +997,13 @@ public:
995997
_LIBCPP_HIDE_FROM_ABI ~__tree();
996998

997999
_LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__begin_node()); }
998-
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_iterator(__begin_node()); }
1000+
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
1001+
return const_iterator(__begin_node());
1002+
}
9991003
_LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__end_node()); }
1000-
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_iterator(__end_node()); }
1004+
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
1005+
return const_iterator(__end_node());
1006+
}
10011007

10021008
_LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {
10031009
return std::min<size_type>(__node_traits::max_size(__node_alloc()), numeric_limits<difference_type >::max());

libcxx/include/deque

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -733,14 +733,22 @@ public:
733733
}
734734

735735
_LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return reverse_iterator(end()); }
736-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(end()); }
736+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
737+
return const_reverse_iterator(end());
738+
}
737739
_LIBCPP_HIDE_FROM_ABI reverse_iterator rend() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return reverse_iterator(begin()); }
738-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(begin()); }
740+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
741+
return const_reverse_iterator(begin());
742+
}
739743

740744
_LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return begin(); }
741745
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return end(); }
742-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(end()); }
743-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(begin()); }
746+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
747+
return const_reverse_iterator(end());
748+
}
749+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
750+
return const_reverse_iterator(begin());
751+
}
744752

745753
// capacity:
746754
_LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT { return __size(); }
@@ -811,7 +819,8 @@ public:
811819
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _InputIter __f, _InputIter __l) _LIBCPP_LIFETIMEBOUND;
812820
template <class _ForwardIterator,
813821
__enable_if_t<__has_exactly_forward_iterator_category<_ForwardIterator>::value, int> = 0>
814-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l) _LIBCPP_LIFETIMEBOUND;
822+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _ForwardIterator __f, _ForwardIterator __l)
823+
_LIBCPP_LIFETIMEBOUND;
815824
template <class _BiIter, __enable_if_t<__has_bidirectional_iterator_category<_BiIter>::value, int> = 0>
816825
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _BiIter __f, _BiIter __l) _LIBCPP_LIFETIMEBOUND;
817826

libcxx/include/ext/hash_map

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,9 @@ public:
519519
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, bool> insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND {
520520
return __table_.__insert_unique(__x);
521521
}
522-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND { return insert(__x).first; }
522+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND {
523+
return insert(__x).first;
524+
}
523525
template <class _InputIterator>
524526
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
525527

@@ -536,12 +538,15 @@ public:
536538
_LIBCPP_HIDE_FROM_ABI key_equal key_eq() const { return __table_.key_eq().key_eq(); }
537539

538540
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
539-
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
541+
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
542+
return __table_.find(__k);
543+
}
540544
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_unique(__k); }
541545
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, iterator> equal_range(const key_type& __k) _LIBCPP_LIFETIMEBOUND {
542546
return __table_.__equal_range_unique(__k);
543547
}
544-
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
548+
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator>
549+
equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
545550
return __table_.__equal_range_unique(__k);
546551
}
547552

@@ -741,8 +746,12 @@ public:
741746
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _LIBCPP_LIFETIMEBOUND { return __table_.begin(); }
742747
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _LIBCPP_LIFETIMEBOUND { return __table_.end(); }
743748

744-
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND { return __table_.__insert_multi(__x); }
745-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND { return insert(__x); }
749+
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND {
750+
return __table_.__insert_multi(__x);
751+
}
752+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND {
753+
return insert(__x);
754+
}
746755
template <class _InputIterator>
747756
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
748757

@@ -759,12 +768,15 @@ public:
759768
_LIBCPP_HIDE_FROM_ABI key_equal key_eq() const { return __table_.key_eq().key_eq(); }
760769

761770
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
762-
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
771+
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
772+
return __table_.find(__k);
773+
}
763774
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_multi(__k); }
764775
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, iterator> equal_range(const key_type& __k) _LIBCPP_LIFETIMEBOUND {
765776
return __table_.__equal_range_multi(__k);
766777
}
767-
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
778+
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator>
779+
equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
768780
return __table_.__equal_range_multi(__k);
769781
}
770782

libcxx/include/ext/hash_set

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,9 @@ public:
278278
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, bool> insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND {
279279
return __table_.__insert_unique(__x);
280280
}
281-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND { return insert(__x).first; }
281+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND {
282+
return insert(__x).first;
283+
}
282284
template <class _InputIterator>
283285
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
284286

@@ -293,12 +295,15 @@ public:
293295
_LIBCPP_HIDE_FROM_ABI key_equal key_eq() const { return __table_.key_eq(); }
294296

295297
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
296-
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
298+
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
299+
return __table_.find(__k);
300+
}
297301
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_unique(__k); }
298302
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, iterator> equal_range(const key_type& __k) _LIBCPP_LIFETIMEBOUND {
299303
return __table_.__equal_range_unique(__k);
300304
}
301-
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
305+
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator>
306+
equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
302307
return __table_.__equal_range_unique(__k);
303308
}
304309

@@ -455,8 +460,12 @@ public:
455460
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _LIBCPP_LIFETIMEBOUND { return __table_.begin(); }
456461
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _LIBCPP_LIFETIMEBOUND { return __table_.end(); }
457462

458-
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND { return __table_.__insert_multi(__x); }
459-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND { return insert(__x); }
463+
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __x) _LIBCPP_LIFETIMEBOUND {
464+
return __table_.__insert_multi(__x);
465+
}
466+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) _LIBCPP_LIFETIMEBOUND {
467+
return insert(__x);
468+
}
460469
template <class _InputIterator>
461470
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
462471

@@ -471,12 +480,15 @@ public:
471480
_LIBCPP_HIDE_FROM_ABI key_equal key_eq() const { return __table_.key_eq(); }
472481

473482
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
474-
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND { return __table_.find(__k); }
483+
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
484+
return __table_.find(__k);
485+
}
475486
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_multi(__k); }
476487
_LIBCPP_HIDE_FROM_ABI std::pair<iterator, iterator> equal_range(const key_type& __k) _LIBCPP_LIFETIMEBOUND {
477488
return __table_.__equal_range_multi(__k);
478489
}
479-
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator> equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
490+
_LIBCPP_HIDE_FROM_ABI std::pair<const_iterator, const_iterator>
491+
equal_range(const key_type& __k) const _LIBCPP_LIFETIMEBOUND {
480492
return __table_.__equal_range_multi(__k);
481493
}
482494

libcxx/include/forward_list

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,9 @@ public:
740740

741741
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT { return allocator_type(__base::__alloc()); }
742742

743-
_LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__base::__before_begin()->__next_); }
743+
_LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
744+
return iterator(__base::__before_begin()->__next_);
745+
}
744746
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
745747
return const_iterator(__base::__before_begin()->__next_);
746748
}
@@ -752,7 +754,9 @@ public:
752754
}
753755
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_iterator(nullptr); }
754756

755-
_LIBCPP_HIDE_FROM_ABI iterator before_begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__base::__before_begin()); }
757+
_LIBCPP_HIDE_FROM_ABI iterator before_begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
758+
return iterator(__base::__before_begin());
759+
}
756760
_LIBCPP_HIDE_FROM_ABI const_iterator before_begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
757761
return const_iterator(__base::__before_begin());
758762
}
@@ -767,8 +771,12 @@ public:
767771
return std::min<size_type>(__node_traits::max_size(__base::__alloc()), numeric_limits<difference_type>::max());
768772
}
769773

770-
_LIBCPP_HIDE_FROM_ABI reference front() _LIBCPP_LIFETIMEBOUND { return __base::__before_begin()->__next_->__get_value(); }
771-
_LIBCPP_HIDE_FROM_ABI const_reference front() const _LIBCPP_LIFETIMEBOUND { return __base::__before_begin()->__next_->__get_value(); }
774+
_LIBCPP_HIDE_FROM_ABI reference front() _LIBCPP_LIFETIMEBOUND {
775+
return __base::__before_begin()->__next_->__get_value();
776+
}
777+
_LIBCPP_HIDE_FROM_ABI const_reference front() const _LIBCPP_LIFETIMEBOUND {
778+
return __base::__before_begin()->__next_->__get_value();
779+
}
772780

773781
#ifndef _LIBCPP_CXX03_LANG
774782
# if _LIBCPP_STD_VER >= 17
@@ -796,14 +804,17 @@ public:
796804
_LIBCPP_HIDE_FROM_ABI iterator emplace_after(const_iterator __p, _Args&&... __args) _LIBCPP_LIFETIMEBOUND;
797805

798806
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, value_type&& __v) _LIBCPP_LIFETIMEBOUND;
799-
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, initializer_list<value_type> __il) _LIBCPP_LIFETIMEBOUND {
807+
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, initializer_list<value_type> __il)
808+
_LIBCPP_LIFETIMEBOUND {
800809
return insert_after(__p, __il.begin(), __il.end());
801810
}
802811
#endif // _LIBCPP_CXX03_LANG
803812
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, const value_type& __v) _LIBCPP_LIFETIMEBOUND;
804-
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, size_type __n, const value_type& __v) _LIBCPP_LIFETIMEBOUND;
813+
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, size_type __n, const value_type& __v)
814+
_LIBCPP_LIFETIMEBOUND;
805815
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
806-
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, _InputIterator __f, _InputIterator __l) _LIBCPP_LIFETIMEBOUND;
816+
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, _InputIterator __f, _InputIterator __l)
817+
_LIBCPP_LIFETIMEBOUND;
807818

808819
#if _LIBCPP_STD_VER >= 23
809820
template <_ContainerCompatibleRange<_Tp> _Range>

libcxx/include/list

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,13 @@ protected:
525525
_LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT { return __sz() == 0; }
526526

527527
_LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__end_.__next_); }
528-
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_iterator(__end_.__next_); }
528+
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
529+
return const_iterator(__end_.__next_);
530+
}
529531
_LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return iterator(__end_as_link()); }
530-
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_iterator(__end_as_link()); }
532+
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
533+
return const_iterator(__end_as_link());
534+
}
531535

532536
_LIBCPP_HIDE_FROM_ABI void swap(__list_imp& __c)
533537
#if _LIBCPP_STD_VER >= 14
@@ -772,11 +776,19 @@ public:
772776
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return __base::end(); }
773777

774778
_LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return reverse_iterator(end()); }
775-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(end()); }
779+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
780+
return const_reverse_iterator(end());
781+
}
776782
_LIBCPP_HIDE_FROM_ABI reverse_iterator rend() _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return reverse_iterator(begin()); }
777-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(begin()); }
778-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(end()); }
779-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND { return const_reverse_iterator(begin()); }
783+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
784+
return const_reverse_iterator(begin());
785+
}
786+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
787+
return const_reverse_iterator(end());
788+
}
789+
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT _LIBCPP_LIFETIMEBOUND {
790+
return const_reverse_iterator(begin());
791+
}
780792

781793
_LIBCPP_HIDE_FROM_ABI reference front() _LIBCPP_LIFETIMEBOUND {
782794
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(!empty(), "list::front called on empty list");

0 commit comments

Comments
 (0)