typedef _LIBCPP_NODEBUG typename conditional
<
is_array<_Up>::value,
- __remove_extent_t<_Up>*,
+ __add_pointer_t<__remove_extent_t<_Up> >,
typename conditional
<
is_function<_Up>::value,
test_decay<int, int>();
test_decay<const volatile int, int>();
test_decay<int*, int*>();
+ test_decay<int&, int>();
+ test_decay<const volatile int&, int>();
test_decay<int[3], int*>();
test_decay<const int[3], const int*>();
test_decay<void(), void (*)()>();
#if TEST_STD_VER > 11
+ test_decay<int&&, int>();
+ test_decay<const volatile int&&, int>();
test_decay<int(int) const, int(int) const>();
test_decay<int(int) volatile, int(int) volatile>();
test_decay<int(int) &, int(int) &>();