Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions libcxx/include/__config
Original file line number Diff line number Diff line change
Expand Up @@ -1170,11 +1170,7 @@ typedef __char32_t char32_t;
# define _LIBCPP_NOESCAPE
# endif

# if __has_attribute(__nodebug__)
# define _LIBCPP_NODEBUG __attribute__((__nodebug__))
# else
# define _LIBCPP_NODEBUG
# endif
# define _LIBCPP_NODEBUG [[__gnu__::__nodebug__]]

# if __has_attribute(__standalone_debug__)
# define _LIBCPP_STANDALONE_DEBUG __attribute__((__standalone_debug__))
Expand Down
6 changes: 3 additions & 3 deletions libcxx/include/__functional/function.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ class __alloc_func<_Fp, _Ap, _Rp(_ArgTypes...)> {
_LIBCPP_COMPRESSED_PAIR(_Fp, __func_, _Ap, __alloc_);

public:
typedef _LIBCPP_NODEBUG _Fp _Target;
typedef _LIBCPP_NODEBUG _Ap _Alloc;
using _Target _LIBCPP_NODEBUG = _Fp;
using _Alloc _LIBCPP_NODEBUG = _Ap;

_LIBCPP_HIDE_FROM_ABI const _Target& __target() const { return __func_; }

Expand Down Expand Up @@ -198,7 +198,7 @@ class __default_alloc_func<_Fp, _Rp(_ArgTypes...)> {
_Fp __f_;

public:
typedef _LIBCPP_NODEBUG _Fp _Target;
using _Target _LIBCPP_NODEBUG = _Fp;

_LIBCPP_HIDE_FROM_ABI const _Target& __target() const { return __f_; }

Expand Down
8 changes: 4 additions & 4 deletions libcxx/include/__memory/allocator_arg_t.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ constexpr allocator_arg_t allocator_arg = allocator_arg_t();

template <class _Tp, class _Alloc, class... _Args>
struct __uses_alloc_ctor_imp {
typedef _LIBCPP_NODEBUG __remove_cvref_t<_Alloc> _RawAlloc;
static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value;
static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
static const int value = __ua ? 2 - __ic : 0;
using _RawAlloc _LIBCPP_NODEBUG = __remove_cvref_t<_Alloc>;
static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value;
static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
static const int value = __ua ? 2 - __ic : 0;
};

template <class _Tp, class _Alloc, class... _Args>
Expand Down
6 changes: 3 additions & 3 deletions libcxx/include/__memory/allocator_destructor.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ _LIBCPP_BEGIN_NAMESPACE_STD

template <class _Alloc>
class __allocator_destructor {
typedef _LIBCPP_NODEBUG allocator_traits<_Alloc> __alloc_traits;
using __alloc_traits _LIBCPP_NODEBUG = allocator_traits<_Alloc>;

public:
typedef _LIBCPP_NODEBUG typename __alloc_traits::pointer pointer;
typedef _LIBCPP_NODEBUG typename __alloc_traits::size_type size_type;
using pointer _LIBCPP_NODEBUG = typename __alloc_traits::pointer;
using size_type _LIBCPP_NODEBUG = typename __alloc_traits::size_type;

private:
_Alloc& __alloc_;
Expand Down
18 changes: 9 additions & 9 deletions libcxx/include/__memory/pointer_traits.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,17 @@ struct __pointer_traits_element_type {};

template <class _Ptr>
struct __pointer_traits_element_type<_Ptr, true> {
typedef _LIBCPP_NODEBUG typename _Ptr::element_type type;
using type _LIBCPP_NODEBUG = typename _Ptr::element_type;
};

template <template <class, class...> class _Sp, class _Tp, class... _Args>
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true> {
typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::element_type type;
using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::element_type;
};

template <template <class, class...> class _Sp, class _Tp, class... _Args>
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false> {
typedef _LIBCPP_NODEBUG _Tp type;
using type _LIBCPP_NODEBUG = _Tp;
};

template <class _Tp, class = void>
Expand All @@ -71,12 +71,12 @@ struct __has_difference_type<_Tp, __void_t<typename _Tp::difference_type> > : tr

template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
struct __pointer_traits_difference_type {
typedef _LIBCPP_NODEBUG ptrdiff_t type;
using type _LIBCPP_NODEBUG = ptrdiff_t;
};

template <class _Ptr>
struct __pointer_traits_difference_type<_Ptr, true> {
typedef _LIBCPP_NODEBUG typename _Ptr::difference_type type;
using type _LIBCPP_NODEBUG = typename _Ptr::difference_type;
};

template <class _Tp, class _Up>
Expand All @@ -96,18 +96,18 @@ struct __has_rebind {
template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
struct __pointer_traits_rebind {
#ifndef _LIBCPP_CXX03_LANG
typedef _LIBCPP_NODEBUG typename _Tp::template rebind<_Up> type;
using type _LIBCPP_NODEBUG = typename _Tp::template rebind<_Up>;
#else
typedef _LIBCPP_NODEBUG typename _Tp::template rebind<_Up>::other type;
using type _LIBCPP_NODEBUG = typename _Tp::template rebind<_Up>::other;
#endif
};

template <template <class, class...> class _Sp, class _Tp, class... _Args, class _Up>
struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, true> {
#ifndef _LIBCPP_CXX03_LANG
typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::template rebind<_Up> type;
using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::template rebind<_Up>;
#else
typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::template rebind<_Up>::other type;
using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::template rebind<_Up>::other;
#endif
};

Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/__memory/unique_ptr.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr {
private:
_LIBCPP_COMPRESSED_PAIR(pointer, __ptr_, deleter_type, __deleter_);

typedef _LIBCPP_NODEBUG __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE;
using _DeleterSFINAE _LIBCPP_NODEBUG = __unique_ptr_deleter_sfinae<_Dp>;

template <bool _Dummy>
using _LValRefType _LIBCPP_NODEBUG = typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type;
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__ranges/join_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -377,8 +377,8 @@ template <class _JoinViewIterator>
__has_random_access_iterator_category<typename _JoinViewIterator::_Outer>::value &&
__has_random_access_iterator_category<typename _JoinViewIterator::_Inner>::value)
struct __segmented_iterator_traits<_JoinViewIterator> {
using __segment_iterator =
_LIBCPP_NODEBUG __iterator_with_data<typename _JoinViewIterator::_Outer, typename _JoinViewIterator::_Parent*>;
using __segment_iterator _LIBCPP_NODEBUG =
__iterator_with_data<typename _JoinViewIterator::_Outer, typename _JoinViewIterator::_Parent*>;
using __local_iterator = typename _JoinViewIterator::_Inner;

// TODO: Would it make sense to enable the optimization for other iterator types?
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__tuple/make_tuple_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,12 @@ struct __make_tuple_types {

template <class... _Types, size_t _Ep>
struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> {
typedef _LIBCPP_NODEBUG __tuple_types<_Types...> type;
using type _LIBCPP_NODEBUG = __tuple_types<_Types...>;
};

template <class... _Types, size_t _Ep>
struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> {
typedef _LIBCPP_NODEBUG __tuple_types<_Types...> type;
using type _LIBCPP_NODEBUG = __tuple_types<_Types...>;
};

_LIBCPP_END_NAMESPACE_STD
Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/__tuple/sfinae_helpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ struct __tuple_constructible<_Tp, _Up, true, true>

template <size_t _Ip, class... _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, tuple<_Tp...> > {
typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type;
using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, __tuple_types<_Tp...> >::type;
};

struct _LIBCPP_EXPORTED_FROM_ABI __check_tuple_constructor_fail {
Expand Down
8 changes: 4 additions & 4 deletions libcxx/include/__tuple/tuple_element.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,25 @@ struct _LIBCPP_TEMPLATE_VIS tuple_element;

template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp> {
typedef _LIBCPP_NODEBUG const typename tuple_element<_Ip, _Tp>::type type;
using type _LIBCPP_NODEBUG = const typename tuple_element<_Ip, _Tp>::type;
};

template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp> {
typedef _LIBCPP_NODEBUG volatile typename tuple_element<_Ip, _Tp>::type type;
using type _LIBCPP_NODEBUG = volatile typename tuple_element<_Ip, _Tp>::type;
};

template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> {
typedef _LIBCPP_NODEBUG const volatile typename tuple_element<_Ip, _Tp>::type type;
using type _LIBCPP_NODEBUG = const volatile typename tuple_element<_Ip, _Tp>::type;
};

#ifndef _LIBCPP_CXX03_LANG

template <size_t _Ip, class... _Types>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<_Types...> > {
static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range");
typedef _LIBCPP_NODEBUG __type_pack_element<_Ip, _Types...> type;
using type _LIBCPP_NODEBUG = __type_pack_element<_Ip, _Types...>;
};

# if _LIBCPP_STD_VER >= 14
Expand Down
6 changes: 3 additions & 3 deletions libcxx/include/__type_traits/add_cv_quals.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD

template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_const {
typedef _LIBCPP_NODEBUG const _Tp type;
using type _LIBCPP_NODEBUG = const _Tp;
};

#if _LIBCPP_STD_VER >= 14
Expand All @@ -29,7 +29,7 @@ using add_const_t = typename add_const<_Tp>::type;

template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_cv {
typedef _LIBCPP_NODEBUG const volatile _Tp type;
using type _LIBCPP_NODEBUG = const volatile _Tp;
};

#if _LIBCPP_STD_VER >= 14
Expand All @@ -39,7 +39,7 @@ using add_cv_t = typename add_cv<_Tp>::type;

template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_volatile {
typedef _LIBCPP_NODEBUG volatile _Tp type;
using type _LIBCPP_NODEBUG = volatile _Tp;
};

#if _LIBCPP_STD_VER >= 14
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__type_traits/add_lvalue_reference.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ using __add_lvalue_reference_t = __add_lvalue_reference(_Tp);

template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value>
struct __add_lvalue_reference_impl {
typedef _LIBCPP_NODEBUG _Tp type;
using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp >
struct __add_lvalue_reference_impl<_Tp, true> {
typedef _LIBCPP_NODEBUG _Tp& type;
using type _LIBCPP_NODEBUG = _Tp&;
};

template <class _Tp>
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__type_traits/add_pointer.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ using __add_pointer_t = __add_pointer(_Tp);
#else
template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value || is_void<_Tp>::value>
struct __add_pointer_impl {
typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp>* type;
using type _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>*;
};
template <class _Tp>
struct __add_pointer_impl<_Tp, false> {
typedef _LIBCPP_NODEBUG _Tp type;
using type _LIBCPP_NODEBUG = _Tp;
};

template <class _Tp>
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__type_traits/add_rvalue_reference.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ using __add_rvalue_reference_t = __add_rvalue_reference(_Tp);

template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value>
struct __add_rvalue_reference_impl {
typedef _LIBCPP_NODEBUG _Tp type;
using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp >
struct __add_rvalue_reference_impl<_Tp, true> {
typedef _LIBCPP_NODEBUG _Tp&& type;
using type _LIBCPP_NODEBUG = _Tp&&;
};

template <class _Tp>
Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/__type_traits/common_type.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ struct __common_type2_imp {};
// sub-bullet 3 - "if decay_t<decltype(false ? declval<D1>() : declval<D2>())> ..."
template <class _Tp, class _Up>
struct __common_type2_imp<_Tp, _Up, __void_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> > {
typedef _LIBCPP_NODEBUG __decay_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> type;
using type _LIBCPP_NODEBUG = __decay_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())>;
};

template <class, class = void>
Expand Down
11 changes: 5 additions & 6 deletions libcxx/include/__type_traits/decay.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,26 +37,25 @@ struct decay {
#else
template <class _Up, bool>
struct __decay {
typedef _LIBCPP_NODEBUG __remove_cv_t<_Up> type;
using type _LIBCPP_NODEBUG = __remove_cv_t<_Up>;
};

template <class _Up>
struct __decay<_Up, true> {
public:
typedef _LIBCPP_NODEBUG
using type _LIBCPP_NODEBUG =
__conditional_t<is_array<_Up>::value,
__add_pointer_t<__remove_extent_t<_Up> >,
__conditional_t<is_function<_Up>::value, typename add_pointer<_Up>::type, __remove_cv_t<_Up> > >
type;
__conditional_t<is_function<_Up>::value, typename add_pointer<_Up>::type, __remove_cv_t<_Up> > >;
};

template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS decay {
private:
typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp> _Up;
using _Up _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>;

public:
typedef _LIBCPP_NODEBUG typename __decay<_Up, __libcpp_is_referenceable<_Up>::value>::type type;
using type _LIBCPP_NODEBUG = typename __decay<_Up, __libcpp_is_referenceable<_Up>::value>::type;
};

template <class _Tp>
Expand Down
10 changes: 5 additions & 5 deletions libcxx/include/__type_traits/remove_pointer.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ using __remove_pointer_t = __remove_pointer(_Tp);
# endif
#else
// clang-format off
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*> {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const> {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile> {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {using type _LIBCPP_NODEBUG = _Tp;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*> {using type _LIBCPP_NODEBUG = _Tp;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const> {using type _LIBCPP_NODEBUG = _Tp;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile> {using type _LIBCPP_NODEBUG = _Tp;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {using type _LIBCPP_NODEBUG = _Tp;};
// clang-format on

template <class _Tp>
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__type_traits/type_list.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ struct __find_first;

template <class _Hp, class _Tp, size_t _Size>
struct __find_first<__type_list<_Hp, _Tp>, _Size, true> {
typedef _LIBCPP_NODEBUG _Hp type;
using type _LIBCPP_NODEBUG = _Hp;
};

template <class _Hp, class _Tp, size_t _Size>
struct __find_first<__type_list<_Hp, _Tp>, _Size, false> {
typedef _LIBCPP_NODEBUG typename __find_first<_Tp, _Size>::type type;
using type _LIBCPP_NODEBUG = typename __find_first<_Tp, _Size>::type;
};

_LIBCPP_END_NAMESPACE_STD
Expand Down
4 changes: 2 additions & 2 deletions libcxx/include/__type_traits/unwrap_ref.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD

template <class _Tp>
struct __unwrap_reference {
typedef _LIBCPP_NODEBUG _Tp type;
using type _LIBCPP_NODEBUG = _Tp;
};

template <class _Tp>
struct __unwrap_reference<reference_wrapper<_Tp> > {
typedef _LIBCPP_NODEBUG _Tp& type;
using type _LIBCPP_NODEBUG = _Tp&;
};

#if _LIBCPP_STD_VER >= 20
Expand Down
10 changes: 5 additions & 5 deletions libcxx/include/__utility/exception_guard.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,10 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(__exception_guard_exceptions);
template <class _Rollback>
struct __exception_guard_noexceptions {
__exception_guard_noexceptions() = delete;
_LIBCPP_HIDE_FROM_ABI
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG explicit __exception_guard_noexceptions(_Rollback) {}
_LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI
_LIBCPP_CONSTEXPR_SINCE_CXX20 explicit __exception_guard_noexceptions(_Rollback) {}

_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG
_LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
__exception_guard_noexceptions(__exception_guard_noexceptions&& __other)
_NOEXCEPT_(is_nothrow_move_constructible<_Rollback>::value)
: __completed_(__other.__completed_) {
Expand All @@ -110,11 +110,11 @@ struct __exception_guard_noexceptions {
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions const&) = delete;
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions&&) = delete;

_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG void __complete() _NOEXCEPT {
_LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __complete() _NOEXCEPT {
__completed_ = true;
}

_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG ~__exception_guard_noexceptions() {
_LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__exception_guard_noexceptions() {
_LIBCPP_ASSERT_INTERNAL(__completed_, "__exception_guard not completed with exceptions disabled");
}

Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/__utility/move.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Tp>
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR __libcpp_remove_reference_t<_Tp>&&
move(_LIBCPP_LIFETIMEBOUND _Tp&& __t) _NOEXCEPT {
typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp> _Up;
using _Up _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>;
return static_cast<_Up&&>(__t);
}

Expand Down
Loading
Loading