]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3991] Fixed returnByReference in optional.h
authorFrancis Dupont <fdupont@isc.org>
Wed, 13 May 2026 09:00:45 +0000 (11:00 +0200)
committerFrancis Dupont <fdupont@isc.org>
Wed, 27 May 2026 20:03:02 +0000 (22:03 +0200)
src/lib/util/optional.h

index 40c6df221d0bcffc0910a92434294ecd8cb19221..a9cea63343078b6855985b512109a0738e9c6ebf 100644 (file)
@@ -10,6 +10,7 @@
 #include <exceptions/exceptions.h>
 #include <ostream>
 #include <string>
+#include <type_traits>
 
 namespace isc {
 namespace util {
@@ -161,6 +162,10 @@ public:
 protected:
     T default_;         ///< Encapsulated value.
     bool unspecified_;  ///< Flag which indicates if the value is specified.
+
+private:
+    // Refuse instantiation by a reference type.
+    static_assert(!std::is_reference<T>::value, "!std::is_reference<T>::value");
 };
 
 /// @brief Specialization of the default @c Optional constructor for