| Index: base/template_util_unittest.cc
|
| diff --git a/base/template_util_unittest.cc b/base/template_util_unittest.cc
|
| index 921596474b6d9a38991506396a1c64148025885d..ab92518376fe3b0bac3c684a44e63a5310b39fe4 100644
|
| --- a/base/template_util_unittest.cc
|
| +++ b/base/template_util_unittest.cc
|
| @@ -30,6 +30,31 @@ static_assert(!is_non_const_reference<const int&>::value,
|
| "IsNonConstReference");
|
| static_assert(is_non_const_reference<int&>::value, "IsNonConstReference");
|
|
|
| +// underlying_value
|
| +enum ClassicEnum : int { CLASSIC_ENUM_A };
|
| +enum class ClassyEnum : int { A };
|
| +
|
| +struct Uncopyable {
|
| + Uncopyable(Uncopyable&&) = default;
|
| + Uncopyable(const Uncopyable&) = delete;
|
| +};
|
| +
|
| +static_assert(
|
| + std::is_same<decltype(underlying_value(Uncopyable{})), Uncopyable>::value,
|
| + "underlying_value: failed to return an object without copying.");
|
| +
|
| +static_assert(
|
| + std::is_same<decltype(underlying_value(int64_t(10))), int64_t>::value,
|
| + "underlying_value: failed to return an integer as its own type.");
|
| +
|
| +static_assert(
|
| + std::is_integral<decltype(underlying_value(CLASSIC_ENUM_A))>::value,
|
| + "underlying_value: failed to return an unscoped enum as an integer.");
|
| +
|
| +static_assert(
|
| + std::is_integral<decltype(underlying_value(ClassyEnum::A))>::value,
|
| + "underlying_value: failed to return a scoped enum as an integer.");
|
| +
|
| class AssignParent {};
|
| class AssignChild : AssignParent {};
|
|
|
|
|