#include "base/functional/function_ref.h"
#include <stdint.h>
#include <concepts>
#include <optional>
#include "base/compiler_specific.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/functional/function_ref.h"
namespace base {
namespace {
char Func(float) { … }
}
TEST(FunctionRef, Lambda) { … }
TEST(FunctionRef, CapturingLambda) { … }
TEST(FunctionRef, FunctionPtr) { … }
TEST(FunctionRef, Functor) { … }
TEST(FunctionRef, Method) { … }
NOINLINE void ConstructFromLValue(std::optional<FunctionRef<int()>>& ref) { … }
NOINLINE void ConstructFromConstLValue(std::optional<FunctionRef<int()>>& ref) { … }
NOINLINE void ConstructFromRValue(std::optional<FunctionRef<int()>>& ref) { … }
NOINLINE void ConstructFromConstRValue(std::optional<FunctionRef<int()>>& ref) { … }
TEST(FunctionRef, ConstructionFromOtherFunctionRefObjects) { … }
TEST(FunctionRef, ConvertibleReturnTypes) { … }
TEST(FunctionRef, ConstructionFromInexactMatches) { … }
TEST(FunctionRef, ConstructionFromAbslFunctionRef) { … }
}