diff --git a/NEWS b/NEWS index 2fb081aa1c..52a3a6a2d1 100644 --- a/NEWS +++ b/NEWS @@ -117,6 +117,8 @@ Deprecated Functionality - ``binpac::string_to_val()`` is deprecated, use ``StringVal`` constructor. +- Returning ``Val*`` from BIFs is deprecated, return ``IntrusivePtr`` instead. + Zeek 3.1.0 ========== diff --git a/src/Func.cc b/src/Func.cc index d7fa698e8a..cc8e0b92f3 100644 --- a/src/Func.cc +++ b/src/Func.cc @@ -891,6 +891,9 @@ function_ingredients::~function_ingredients() delete inits; } +BifReturnVal::BifReturnVal(std::nullptr_t) noexcept + { } + BifReturnVal::BifReturnVal(Val* v) noexcept : rval(AdoptRef{}, v) { } diff --git a/src/Func.h b/src/Func.h index a66bc5934f..dff2c9a36b 100644 --- a/src/Func.h +++ b/src/Func.h @@ -201,6 +201,9 @@ public: : rval(AdoptRef{}, v.release()) { } + BifReturnVal(std::nullptr_t) noexcept; + + [[deprecated("Remove in v4.1. Return an IntrusivePtr instead.")]] BifReturnVal(Val* v) noexcept; private: