From 9134967d017fcd09f71539c8957b73eb05c26f45 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Fri, 20 Aug 2021 22:47:15 -0700 Subject: Export of internal Abseil changes -- 2aa219620f39aa490fa989f5d92e1bd3e52a46c5 by Abseil Team : Add lifetime annotations to FunctionRef. PiperOrigin-RevId: 392131866 GitOrigin-RevId: 2aa219620f39aa490fa989f5d92e1bd3e52a46c5 Change-Id: I295b808986857e46a565e047db25a951dd7ce0e3 --- absl/functional/BUILD.bazel | 1 + absl/functional/CMakeLists.txt | 1 + absl/functional/function_ref.h | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/absl/functional/BUILD.bazel b/absl/functional/BUILD.bazel index ebd9b99..4555cd5 100644 --- a/absl/functional/BUILD.bazel +++ b/absl/functional/BUILD.bazel @@ -60,6 +60,7 @@ cc_library( linkopts = ABSL_DEFAULT_LINKOPTS, deps = [ "//absl/base:base_internal", + "//absl/base:core_headers", "//absl/meta:type_traits", ], ) diff --git a/absl/functional/CMakeLists.txt b/absl/functional/CMakeLists.txt index 3919e9a..338ddc6 100644 --- a/absl/functional/CMakeLists.txt +++ b/absl/functional/CMakeLists.txt @@ -53,6 +53,7 @@ absl_cc_library( ${ABSL_DEFAULT_COPTS} DEPS absl::base_internal + absl::core_headers absl::meta PUBLIC ) diff --git a/absl/functional/function_ref.h b/absl/functional/function_ref.h index 5790a65..824e3ce 100644 --- a/absl/functional/function_ref.h +++ b/absl/functional/function_ref.h @@ -50,6 +50,7 @@ #include #include +#include "absl/base/attributes.h" #include "absl/functional/internal/function_ref.h" #include "absl/meta/type_traits.h" @@ -98,7 +99,8 @@ class FunctionRef { public: // Constructs a FunctionRef from any invokable type. template > - FunctionRef(const F& f) // NOLINT(runtime/explicit) + // NOLINTNEXTLINE(runtime/explicit) + FunctionRef(const F& f ABSL_ATTRIBUTE_LIFETIME_BOUND) : invoker_(&absl::functional_internal::InvokeObject) { absl::functional_internal::AssertNonNull(f); ptr_.obj = &f; -- cgit v1.2.3