#include #include "common/utils/Thief.h" #include "common/utils/TypeTraits.h" #include "tests/GtestHelpers.h" namespace hf3fs::test { namespace { class A { public: auto &secret() { return secret_; } private: int secret_ = 0; }; template struct StoreValue : public std::type_identity>> {}; struct Tag; template struct StoreValue; TEST(TestThief, AccessPrivateMember) { A a; a.secret() = 20; ASSERT_EQ(a.*thief::retrieve::value, 20); } } // namespace } // namespace hf3fs::test