15 #include <type_traits>
17 #include "absl/base/internal/inline_variable.h"
18 #include "absl/base/internal/inline_variable_testing.h"
20 #include "gtest/gtest.h"
24 namespace inline_variable_testing_internal {
27 TEST(InlineVariableTest, Constexpr) {
28 static_assert(inline_variable_foo.value == 5,
"");
29 static_assert(other_inline_variable_foo.value == 5,
"");
30 static_assert(inline_variable_int == 5,
"");
31 static_assert(other_inline_variable_int == 5,
"");
34 TEST(InlineVariableTest, DefaultConstructedIdentityEquality) {
40 TEST(InlineVariableTest, DefaultConstructedIdentityInequality) {
41 EXPECT_NE(&inline_variable_foo, &other_inline_variable_foo);
44 TEST(InlineVariableTest, InitializedIdentityEquality) {
50 TEST(InlineVariableTest, InitializedIdentityInequality) {
51 EXPECT_NE(&inline_variable_int, &other_inline_variable_int);
54 TEST(InlineVariableTest, FunPtrType) {
56 std::is_same<
void(*)(),
57 std::decay<decltype(inline_variable_fun_ptr)>::
type>::
value,