From 0179a8ea2f2a90f70d10aade9369e9c6a2a08cb0 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 5 Dec 2023 12:21:18 -0500 Subject: [PATCH] common: use inline for monostate dencoders fix a 'multiple definition' error when included by multiple sources: src/common/versioned_variant.h:31: multiple definition of `ceph::encode(std::monostate const&, ceph::buffer::v15_2_0::list&)'; rgw_main.cc.o:src/common/versioned_variant.h:31: first defined here Signed-off-by: Casey Bodley --- src/common/versioned_variant.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/versioned_variant.h b/src/common/versioned_variant.h index f7e46b7296e..124c5883916 100644 --- a/src/common/versioned_variant.h +++ b/src/common/versioned_variant.h @@ -28,8 +28,8 @@ namespace ceph { // null encoding for std::monostate -void encode(const std::monostate&, bufferlist& bl) {} -void decode(std::monostate&, bufferlist::const_iterator& p) {} +inline void encode(const std::monostate&, bufferlist& bl) {} +inline void decode(std::monostate&, bufferlist::const_iterator& p) {} // largest value that can be represented by `__u8 struct_v` inline constexpr size_t max_version = std::numeric_limits<__u8>::max(); -- 2.39.5