Deprecate and inline historical functions in Abseil

PiperOrigin-RevId: 916125223
Change-Id: I79a4bb099685ef9119718f5ab468fdb2aff21ed0
diff --git a/absl/types/optional.h b/absl/types/optional.h
index 96197ab..c70efb1 100644
--- a/absl/types/optional.h
+++ b/absl/types/optional.h
@@ -23,6 +23,7 @@
 #ifndef ABSL_TYPES_OPTIONAL_H_
 #define ABSL_TYPES_OPTIONAL_H_
 
+#include <initializer_list>
 #include <optional>
 
 #include "absl/base/config.h"
@@ -35,7 +36,26 @@
 using bad_optional_access ABSL_REFACTOR_INLINE
     = std::bad_optional_access;
 
-using std::make_optional;
+template <typename T>
+ABSL_REFACTOR_INLINE constexpr decltype(std::make_optional(
+    std::declval<T>())) make_optional(T&& value) {
+  return std::make_optional(std::forward<T>(value));
+}
+
+template <typename T, typename... Args>
+constexpr decltype(std::make_optional<T>(
+    std::declval<Args>()...)) make_optional(Args&&... args) {
+  return std::make_optional<T>(std::forward<Args>(args)...);
+}
+
+template <typename T, typename U, typename... Args>
+constexpr decltype(std::make_optional<T>(
+    std::declval<std::initializer_list<U>>(),
+    std::declval<Args>()...)) make_optional(std::initializer_list<U> il,
+                                            Args&&... args) {
+  return std::make_optional<T>(il, std::forward<Args>(args)...);
+}
+
 using std::nullopt;
 
 using nullopt_t ABSL_REFACTOR_INLINE
diff --git a/absl/utility/utility.h b/absl/utility/utility.h
index 1289bba..dd699d4 100644
--- a/absl/utility/utility.h
+++ b/absl/utility/utility.h
@@ -112,7 +112,19 @@
 using make_integer_sequence ABSL_DEPRECATE_AND_INLINE() =
     std::make_integer_sequence<T, N>;
 
-using std::move;
+template <class It, class OutIt>
+[[deprecated("Use std::move instead.")]]
+constexpr OutIt move(It&& begin, It&& end, OutIt&& output) {
+  return std::move(std::forward<It>(begin), std::forward<It>(end),
+                   std::forward<OutIt>(output));
+}
+
+template <class T>
+[[deprecated("Use std::move instead.")]]
+[[nodiscard]] constexpr std::remove_reference_t<T>&&
+move(T&& arg ABSL_ATTRIBUTE_LIFETIME_BOUND) noexcept {
+  return std::move(arg);  // NOLINT(bugprone-move-forwarding-reference)
+}
 
 #if ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
 // Backfill for std::nontype_t. An instance of this class can be provided as a