// Copyright (c) 2021 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This is a "No Compile Test" suite. // https://dev.chromium.org/developers/testing/no-compile-tests #include "base/containers/enum_set.h" namespace base { namespace { #if defined(NCTEST_ALL_METHOD_DISALLOWED_ON_LARGE_SPARSE_ENUM) // [r"fatal error: static assertion failed due to requirement 'kValueCount <= 64': Max number of enum values is 64 for constexpr constructor"] void WontCompile() { enum class TestEnumSparse { TEST_1 = 1, TEST_MIN = 1, TEST_50 = 50, TEST_100 = 100, TEST_MAX = TEST_100, }; using TestEnumSparseSet = EnumSet; // TestEnumSparseSet::All() does not compile because there are more than 64 // possible values. TestEnumSparseSet::All(); } #endif } // namespace } // namespace base