diff --git a/absl/functional/BUILD.bazel b/absl/functional/BUILD.bazel index 5e855235..85793aa0 100644 --- a/absl/functional/BUILD.bazel +++ b/absl/functional/BUILD.bazel @@ -44,6 +44,7 @@ cc_library( deps = [ "//absl/base:config", "//absl/base:core_headers", + "//absl/base:hardening", "//absl/base:nullability", "//absl/meta:type_traits", "//absl/utility", @@ -62,6 +63,7 @@ cc_test( ":any_invocable", "//absl/base:config", "//absl/base:core_headers", + "//absl/base:hardening", "//absl/base:nullability", "//absl/meta:type_traits", "//absl/utility", diff --git a/absl/functional/CMakeLists.txt b/absl/functional/CMakeLists.txt index 362c1497..7beb1761 100644 --- a/absl/functional/CMakeLists.txt +++ b/absl/functional/CMakeLists.txt @@ -27,6 +27,7 @@ absl_cc_library( absl::base absl::config absl::core_headers + absl::hardening absl::type_traits absl::utility PUBLIC diff --git a/absl/functional/internal/any_invocable.h b/absl/functional/internal/any_invocable.h index 262385a3..f8c2f642 100644 --- a/absl/functional/internal/any_invocable.h +++ b/absl/functional/internal/any_invocable.h @@ -65,6 +65,7 @@ #include "absl/base/attributes.h" #include "absl/base/config.h" +#include "absl/base/internal/hardening.h" #include "absl/base/macros.h" #include "absl/base/nullability.h" #include "absl/base/optimization.h" @@ -729,7 +730,7 @@ using CanAssignReferenceWrapper = TrueAlias< /*Raises a fatal error when the AnyInvocable is invoked after a move*/ \ static ReturnType InvokedAfterMove( \ TypeErasedState*, ForwardedParameterType

...) noexcept(noex) { \ - ABSL_HARDENING_ASSERT(false && "AnyInvocable use-after-move"); \ + absl::base_internal::HardeningAssert(false); \ std::terminate(); \ } \ \