re2 1.24.1 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/LICENSE +15 -20
  2. package/README.md +62 -4
  3. package/binding.gyp +1 -2
  4. package/lib/addon.cc +7 -3
  5. package/lib/exec.cc +4 -4
  6. package/lib/match.cc +4 -4
  7. package/lib/pattern.cc +148 -1
  8. package/lib/replace.cc +5 -4
  9. package/lib/search.cc +1 -1
  10. package/lib/set.cc +75 -0
  11. package/lib/test.cc +1 -1
  12. package/lib/unicode_properties.h +15840 -0
  13. package/lib/wrapped_re2.h +11 -4
  14. package/lib/wrapped_re2_set.h +3 -1
  15. package/llms-full.txt +37 -7
  16. package/llms.txt +4 -1
  17. package/package.json +11 -10
  18. package/re2.d.ts +2 -0
  19. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +87 -74
  20. package/vendor/abseil-cpp/CMakeLists.txt +3 -3
  21. package/vendor/abseil-cpp/FAQ.md +130 -79
  22. package/vendor/abseil-cpp/MODULE.bazel +6 -7
  23. package/vendor/abseil-cpp/absl/BUILD.bazel +6 -0
  24. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +4 -0
  25. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +4 -0
  26. package/vendor/abseil-cpp/absl/algorithm/algorithm.h +34 -2
  27. package/vendor/abseil-cpp/absl/algorithm/container.h +164 -17
  28. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +390 -13
  29. package/vendor/abseil-cpp/absl/base/BUILD.bazel +53 -6
  30. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +28 -4
  31. package/vendor/abseil-cpp/absl/base/attributes.h +61 -42
  32. package/vendor/abseil-cpp/absl/base/call_once.h +1 -0
  33. package/vendor/abseil-cpp/absl/base/casts.h +8 -1
  34. package/vendor/abseil-cpp/absl/base/casts_test.cc +3 -6
  35. package/vendor/abseil-cpp/absl/base/config.h +54 -10
  36. package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +9 -9
  37. package/vendor/abseil-cpp/absl/base/fast_type_id.h +30 -2
  38. package/vendor/abseil-cpp/absl/base/fast_type_id_test.cc +3 -0
  39. package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.h +15 -12
  40. package/vendor/abseil-cpp/absl/base/internal/hardening.h +136 -0
  41. package/vendor/abseil-cpp/absl/base/internal/hardening_test.cc +168 -0
  42. package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +2 -2
  43. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -0
  44. package/vendor/abseil-cpp/absl/base/internal/low_level_scheduling.h +77 -15
  45. package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +1 -2
  46. package/vendor/abseil-cpp/absl/base/internal/thread_identity.h +52 -0
  47. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +5 -0
  48. package/vendor/abseil-cpp/absl/base/macros.h +36 -20
  49. package/vendor/abseil-cpp/absl/base/nullability.h +4 -3
  50. package/vendor/abseil-cpp/absl/base/optimization.h +3 -2
  51. package/vendor/abseil-cpp/absl/base/optimization_test.cc +4 -3
  52. package/vendor/abseil-cpp/absl/base/options.h +55 -1
  53. package/vendor/abseil-cpp/absl/base/policy_checks.h +5 -5
  54. package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.cc → throw_delegate.cc} +9 -7
  55. package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.h → throw_delegate.h} +4 -14
  56. package/vendor/abseil-cpp/absl/base/throw_delegate_test.cc +19 -28
  57. package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -0
  58. package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +2 -0
  59. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +3 -2
  60. package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -2
  61. package/vendor/abseil-cpp/absl/container/BUILD.bazel +19 -7
  62. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +6 -5
  63. package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +3 -5
  64. package/vendor/abseil-cpp/absl/container/btree_set.h +5 -5
  65. package/vendor/abseil-cpp/absl/container/btree_test.cc +11 -14
  66. package/vendor/abseil-cpp/absl/container/chunked_queue.h +8 -6
  67. package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +5 -5
  68. package/vendor/abseil-cpp/absl/container/fixed_array.h +14 -13
  69. package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +3 -3
  70. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +18 -6
  71. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +34 -1
  72. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +21 -7
  73. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +39 -7
  74. package/vendor/abseil-cpp/absl/container/inlined_vector.h +29 -29
  75. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +2 -2
  76. package/vendor/abseil-cpp/absl/container/internal/btree.h +32 -24
  77. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +16 -17
  78. package/vendor/abseil-cpp/absl/container/internal/common.h +6 -5
  79. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
  80. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +16 -16
  81. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +13 -13
  82. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +41 -31
  83. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +2 -2
  84. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +4 -4
  85. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +3 -3
  86. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +27 -19
  87. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -2
  88. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -17
  89. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +12 -30
  90. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +28 -28
  91. package/vendor/abseil-cpp/absl/container/internal/layout.h +13 -13
  92. package/vendor/abseil-cpp/absl/container/internal/layout_test.cc +3 -2
  93. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +60 -62
  94. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +59 -39
  95. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +619 -326
  96. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +25 -2
  97. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +4 -4
  98. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +575 -159
  99. package/vendor/abseil-cpp/absl/container/linked_hash_map.h +2 -2
  100. package/vendor/abseil-cpp/absl/container/node_hash_map.h +27 -15
  101. package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +34 -0
  102. package/vendor/abseil-cpp/absl/container/node_hash_set.h +25 -11
  103. package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +39 -7
  104. package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +7 -4
  105. package/vendor/abseil-cpp/absl/crc/BUILD.bazel +0 -1
  106. package/vendor/abseil-cpp/absl/crc/CMakeLists.txt +2 -3
  107. package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +2 -1
  108. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +6 -6
  109. package/vendor/abseil-cpp/absl/crc/internal/crc.cc +4 -6
  110. package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +41 -0
  111. package/vendor/abseil-cpp/absl/crc/internal/crc_internal.h +0 -16
  112. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +143 -81
  113. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +9 -31
  114. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +3 -33
  115. package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.h +8 -0
  116. package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +2 -1
  117. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +12 -2
  118. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +2 -3
  119. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +11 -0
  120. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +13 -4
  121. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +14 -7
  122. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +4 -0
  123. package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +46 -36
  124. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +18 -58
  125. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +5 -48
  126. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +10 -124
  127. package/vendor/abseil-cpp/absl/debugging/symbolize.cc +20 -2
  128. package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +58 -106
  129. package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +37 -36
  130. package/vendor/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +4 -4
  131. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -3
  132. package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +1 -1
  133. package/vendor/abseil-cpp/absl/flags/commandlineflag.h +8 -6
  134. package/vendor/abseil-cpp/absl/flags/commandlineflag_test.cc +1 -1
  135. package/vendor/abseil-cpp/absl/flags/flag_benchmark.cc +5 -5
  136. package/vendor/abseil-cpp/absl/flags/flag_test.cc +30 -30
  137. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +4 -4
  138. package/vendor/abseil-cpp/absl/flags/internal/flag.h +6 -6
  139. package/vendor/abseil-cpp/absl/flags/marshalling.h +2 -28
  140. package/vendor/abseil-cpp/absl/flags/marshalling_test.cc +12 -11
  141. package/vendor/abseil-cpp/absl/flags/reflection_test.cc +1 -1
  142. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +26 -1
  143. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +29 -1
  144. package/vendor/abseil-cpp/absl/functional/any_invocable.h +13 -14
  145. package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +46 -47
  146. package/vendor/abseil-cpp/absl/functional/bind_back.h +79 -0
  147. package/vendor/abseil-cpp/absl/functional/bind_back_test.cc +237 -0
  148. package/vendor/abseil-cpp/absl/functional/bind_front.h +7 -1
  149. package/vendor/abseil-cpp/absl/functional/bind_front_test.cc +4 -4
  150. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +2 -2
  151. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +28 -28
  152. package/vendor/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
  153. package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +4 -4
  154. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
  155. package/vendor/abseil-cpp/absl/functional/overload_test.cc +13 -13
  156. package/vendor/abseil-cpp/absl/hash/BUILD.bazel +1 -2
  157. package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +1 -2
  158. package/vendor/abseil-cpp/absl/hash/hash.h +1 -1
  159. package/vendor/abseil-cpp/absl/hash/hash_test.cc +14 -20
  160. package/vendor/abseil-cpp/absl/hash/hash_testing.h +11 -9
  161. package/vendor/abseil-cpp/absl/hash/internal/city.cc +39 -51
  162. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +165 -47
  163. package/vendor/abseil-cpp/absl/hash/internal/hash.h +82 -26
  164. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +36 -1
  165. package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +8 -5
  166. package/vendor/abseil-cpp/absl/log/BUILD.bazel +5 -2
  167. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +5 -3
  168. package/vendor/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -2
  169. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +15 -1
  170. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -4
  171. package/vendor/abseil-cpp/absl/log/internal/log_message.h +14 -0
  172. package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -1
  173. package/vendor/abseil-cpp/absl/log/internal/proto.cc +13 -0
  174. package/vendor/abseil-cpp/absl/log/internal/structured_proto.cc +5 -5
  175. package/vendor/abseil-cpp/absl/log/internal/structured_proto.h +6 -5
  176. package/vendor/abseil-cpp/absl/log/internal/structured_proto_test.cc +3 -3
  177. package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +2 -2
  178. package/vendor/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +3 -3
  179. package/vendor/abseil-cpp/absl/log/log_format_test.cc +19 -2
  180. package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +18 -0
  181. package/vendor/abseil-cpp/absl/log/log_streamer.h +29 -2
  182. package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +18 -0
  183. package/vendor/abseil-cpp/absl/log/scoped_mock_log_test.cc +1 -1
  184. package/vendor/abseil-cpp/absl/log/vlog_is_on.h +0 -2
  185. package/vendor/abseil-cpp/absl/log/vlog_is_on_test.cc +6 -5
  186. package/vendor/abseil-cpp/absl/memory/memory.h +55 -5
  187. package/vendor/abseil-cpp/absl/memory/memory_test.cc +55 -1
  188. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
  189. package/vendor/abseil-cpp/absl/meta/internal/requires.h +1 -1
  190. package/vendor/abseil-cpp/absl/meta/type_traits.h +119 -55
  191. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +7 -7
  192. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +6 -6
  193. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +3 -1
  194. package/vendor/abseil-cpp/absl/profiling/hashtable.cc +0 -4
  195. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +32 -33
  196. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +25 -2
  197. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +8 -5
  198. package/vendor/abseil-cpp/absl/random/BUILD.bazel +13 -1
  199. package/vendor/abseil-cpp/absl/random/CMakeLists.txt +23 -2
  200. package/vendor/abseil-cpp/absl/random/benchmarks.cc +1 -1
  201. package/vendor/abseil-cpp/absl/random/beta_distribution.h +2 -2
  202. package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +26 -53
  203. package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +43 -0
  204. package/vendor/abseil-cpp/absl/random/discrete_distribution.h +1 -1
  205. package/vendor/abseil-cpp/absl/random/distributions.h +17 -17
  206. package/vendor/abseil-cpp/absl/random/distributions_test.cc +4 -4
  207. package/vendor/abseil-cpp/absl/random/exponential_distribution.h +1 -1
  208. package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +4 -2
  209. package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +8 -21
  210. package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits.h +1 -1
  211. package/vendor/abseil-cpp/absl/random/internal/generate_real.h +1 -1
  212. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver.h +2 -2
  213. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +3 -2
  214. package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +14 -40
  215. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +2 -2
  216. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +2 -2
  217. package/vendor/abseil-cpp/absl/random/internal/pcg_engine.h +6 -6
  218. package/vendor/abseil-cpp/absl/random/internal/pcg_engine_test.cc +3 -2
  219. package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +6 -6
  220. package/vendor/abseil-cpp/absl/random/internal/randen_engine.h +2 -2
  221. package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +3 -2
  222. package/vendor/abseil-cpp/absl/random/internal/randen_test.cc +3 -2
  223. package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq.h +6 -5
  224. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +4 -4
  225. package/vendor/abseil-cpp/absl/random/internal/seed_material.h +2 -1
  226. package/vendor/abseil-cpp/absl/random/internal/traits.h +21 -0
  227. package/vendor/abseil-cpp/absl/random/internal/traits_test.cc +5 -0
  228. package/vendor/abseil-cpp/absl/random/internal/uniform_helper.h +23 -23
  229. package/vendor/abseil-cpp/absl/random/internal/uniform_helper_test.cc +2 -1
  230. package/vendor/abseil-cpp/absl/random/mocking_access.h +74 -0
  231. package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +9 -19
  232. package/vendor/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
  233. package/vendor/abseil-cpp/absl/status/BUILD.bazel +81 -0
  234. package/vendor/abseil-cpp/absl/status/CMakeLists.txt +91 -0
  235. package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +63 -18
  236. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +26 -2
  237. package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +22 -8
  238. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +43 -43
  239. package/vendor/abseil-cpp/absl/status/status.cc +62 -70
  240. package/vendor/abseil-cpp/absl/status/status.h +249 -23
  241. package/vendor/abseil-cpp/absl/status/status_benchmark.cc +12 -0
  242. package/vendor/abseil-cpp/absl/status/status_builder.cc +196 -0
  243. package/vendor/abseil-cpp/absl/status/status_builder.h +978 -0
  244. package/vendor/abseil-cpp/absl/status/status_builder_test.cc +380 -0
  245. package/vendor/abseil-cpp/absl/status/status_macros.h +484 -0
  246. package/vendor/abseil-cpp/absl/status/status_macros_test.cc +634 -0
  247. package/vendor/abseil-cpp/absl/status/status_matchers.h +2 -1
  248. package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +3 -4
  249. package/vendor/abseil-cpp/absl/status/status_payload_printer.h +3 -2
  250. package/vendor/abseil-cpp/absl/status/status_test.cc +443 -13
  251. package/vendor/abseil-cpp/absl/status/statusor.h +69 -36
  252. package/vendor/abseil-cpp/absl/status/statusor_test.cc +132 -35
  253. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +42 -7
  254. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +33 -4
  255. package/vendor/abseil-cpp/absl/strings/ascii.h +1 -2
  256. package/vendor/abseil-cpp/absl/strings/atod_manual_test.cc +5 -5
  257. package/vendor/abseil-cpp/absl/strings/cord.cc +26 -7
  258. package/vendor/abseil-cpp/absl/strings/cord.h +23 -13
  259. package/vendor/abseil-cpp/absl/strings/cord_buffer.h +4 -2
  260. package/vendor/abseil-cpp/absl/strings/cord_test.cc +85 -9
  261. package/vendor/abseil-cpp/absl/strings/escaping.cc +176 -30
  262. package/vendor/abseil-cpp/absl/strings/escaping.h +12 -2
  263. package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +1 -3
  264. package/vendor/abseil-cpp/absl/strings/escaping_test.cc +18 -18
  265. package/vendor/abseil-cpp/absl/strings/has_absl_stringify_test.cc +2 -2
  266. package/vendor/abseil-cpp/absl/strings/has_ostream_operator_test.cc +2 -2
  267. package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +10 -10
  268. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +1 -1
  269. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +6 -0
  270. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +1 -0
  271. package/vendor/abseil-cpp/absl/strings/internal/escaping.cc +0 -141
  272. package/vendor/abseil-cpp/absl/strings/internal/escaping.h +2 -26
  273. package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +23 -2
  274. package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +6 -2
  275. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +31 -24
  276. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +16 -41
  277. package/vendor/abseil-cpp/absl/strings/internal/stl_type_traits.h +39 -39
  278. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -22
  279. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.h +2 -2
  280. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +12 -20
  281. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +510 -307
  282. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -1
  283. package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +9 -10
  284. package/vendor/abseil-cpp/absl/strings/internal/string_constant_test.cc +6 -5
  285. package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.h +12 -0
  286. package/vendor/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
  287. package/vendor/abseil-cpp/absl/strings/internal/stringify_stream_test.cc +111 -0
  288. package/vendor/abseil-cpp/absl/strings/numbers.cc +406 -0
  289. package/vendor/abseil-cpp/absl/strings/numbers.h +4 -0
  290. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +33 -0
  291. package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +10 -6
  292. package/vendor/abseil-cpp/absl/strings/str_cat.h +36 -1
  293. package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +1 -2
  294. package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +28 -0
  295. package/vendor/abseil-cpp/absl/strings/str_join_test.cc +4 -4
  296. package/vendor/abseil-cpp/absl/strings/str_split.h +11 -6
  297. package/vendor/abseil-cpp/absl/strings/str_split_test.cc +13 -0
  298. package/vendor/abseil-cpp/absl/strings/substitute.h +2 -2
  299. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +3 -0
  300. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +21 -0
  301. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +5 -0
  302. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +13 -0
  303. package/vendor/abseil-cpp/absl/synchronization/mutex.h +32 -2
  304. package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +17 -3
  305. package/vendor/abseil-cpp/absl/time/BUILD.bazel +80 -0
  306. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +73 -0
  307. package/vendor/abseil-cpp/absl/time/clock.h +3 -0
  308. package/vendor/abseil-cpp/absl/time/clock_interface.cc +71 -0
  309. package/vendor/abseil-cpp/absl/time/clock_interface.h +93 -0
  310. package/vendor/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
  311. package/vendor/abseil-cpp/absl/time/format.cc +3 -10
  312. package/vendor/abseil-cpp/absl/time/format_test.cc +12 -0
  313. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +90 -89
  314. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +80 -5
  315. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +1 -2
  316. package/vendor/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +10 -15
  317. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
  318. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  319. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  320. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  321. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  322. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  323. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  324. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  325. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  326. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  327. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +1 -1
  328. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +3 -3
  329. package/vendor/abseil-cpp/absl/time/simulated_clock.cc +225 -0
  330. package/vendor/abseil-cpp/absl/time/simulated_clock.h +109 -0
  331. package/vendor/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
  332. package/vendor/abseil-cpp/absl/types/BUILD.bazel +116 -0
  333. package/vendor/abseil-cpp/absl/types/CMakeLists.txt +100 -0
  334. package/vendor/abseil-cpp/absl/types/any.h +26 -4
  335. package/vendor/abseil-cpp/absl/types/any_span.h +1067 -0
  336. package/vendor/abseil-cpp/absl/types/any_span_benchmark.cc +258 -0
  337. package/vendor/abseil-cpp/absl/types/any_span_test.cc +1210 -0
  338. package/vendor/abseil-cpp/absl/types/compare.h +4 -4
  339. package/vendor/abseil-cpp/absl/types/internal/any_span.h +477 -0
  340. package/vendor/abseil-cpp/absl/types/internal/span.h +5 -6
  341. package/vendor/abseil-cpp/absl/types/optional.h +30 -3
  342. package/vendor/abseil-cpp/absl/types/optional_ref.h +295 -0
  343. package/vendor/abseil-cpp/absl/types/optional_ref_test.cc +370 -0
  344. package/vendor/abseil-cpp/absl/types/source_location.cc +18 -0
  345. package/vendor/abseil-cpp/absl/types/source_location.h +172 -0
  346. package/vendor/abseil-cpp/absl/types/source_location_test.cc +139 -0
  347. package/vendor/abseil-cpp/absl/types/span.h +19 -23
  348. package/vendor/abseil-cpp/absl/types/variant.h +75 -18
  349. package/vendor/abseil-cpp/absl/types/variant_test.cc +23 -23
  350. package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -0
  351. package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +1 -0
  352. package/vendor/abseil-cpp/absl/utility/utility.h +99 -16
  353. package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -0
  354. package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +10 -4
  355. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +13 -6
  356. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +10 -4
  357. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +12 -5
  358. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +9 -2
  359. package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
  360. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +10 -3
  361. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +8 -2
  362. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +4 -3
  363. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +2 -2
  364. package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -1
  365. package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -1
  366. package/AGENTS.md +0 -131
  367. package/ARCHITECTURE.md +0 -152
  368. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +0 -118
  369. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +0 -71
  370. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +0 -97
@@ -46,17 +46,17 @@
46
46
  // Toolchain Check
47
47
  // -----------------------------------------------------------------------------
48
48
 
49
- // We support Visual Studio 2019 (MSVC++ 16.0) and later.
49
+ // We support Visual Studio 2022 (MSVC++ 17.0) and later.
50
50
  // This minimum will go up.
51
- #if defined(_MSC_VER) && _MSC_VER < 1920 && !defined(__clang__)
52
- #error "This package requires Visual Studio 2019 (MSVC++ 16.0) or higher."
51
+ #if defined(_MSC_VER) && _MSC_VER < 1930 && !defined(__clang__)
52
+ #error "This package requires Visual Studio 2022 (MSVC++ 17.0) or higher."
53
53
  #endif
54
54
 
55
55
  // We support GCC 7 and later.
56
56
  // This minimum will go up.
57
57
  #if defined(__GNUC__) && !defined(__clang__)
58
- #if __GNUC__ < 7
59
- #error "This package requires GCC 7 or higher."
58
+ #if __GNUC__ < 10
59
+ #error "This package requires GCC 10 or higher."
60
60
  #endif
61
61
  #endif
62
62
 
@@ -12,7 +12,7 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/base/internal/throw_delegate.h"
15
+ #include "absl/base/throw_delegate.h"
16
16
 
17
17
  #include <cstdlib>
18
18
  #include <functional>
@@ -24,11 +24,6 @@
24
24
 
25
25
  namespace absl {
26
26
  ABSL_NAMESPACE_BEGIN
27
- namespace base_internal {
28
-
29
- // NOTE: The exception types, like `std::logic_error`, do not exist on all
30
- // platforms. (For example, the Android NDK does not have them.)
31
- // Therefore, their use must be guarded by `#ifdef` or equivalent.
32
27
 
33
28
  void ThrowStdLogicError(const std::string& what_arg) {
34
29
  #ifdef ABSL_HAVE_EXCEPTIONS
@@ -198,6 +193,13 @@ void ThrowStdBadAlloc() {
198
193
  #endif
199
194
  }
200
195
 
201
- } // namespace base_internal
196
+ void ThrowStdBadArrayNewLength() {
197
+ #ifdef ABSL_HAVE_EXCEPTIONS
198
+ throw std::bad_array_new_length();
199
+ #else
200
+ std::abort();
201
+ #endif
202
+ }
203
+
202
204
  ABSL_NAMESPACE_END
203
205
  } // namespace absl
@@ -1,4 +1,3 @@
1
- //
2
1
  // Copyright 2017 The Abseil Authors.
3
2
  //
4
3
  // Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,10 +11,9 @@
12
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
12
  // See the License for the specific language governing permissions and
14
13
  // limitations under the License.
15
- //
16
14
 
17
- #ifndef ABSL_BASE_INTERNAL_THROW_DELEGATE_H_
18
- #define ABSL_BASE_INTERNAL_THROW_DELEGATE_H_
15
+ #ifndef ABSL_BASE_THROW_DELEGATE_H_
16
+ #define ABSL_BASE_THROW_DELEGATE_H_
19
17
 
20
18
  #include <string>
21
19
 
@@ -23,7 +21,6 @@
23
21
 
24
22
  namespace absl {
25
23
  ABSL_NAMESPACE_BEGIN
26
- namespace base_internal {
27
24
 
28
25
  // Helper functions that allow throwing exceptions consistently from anywhere.
29
26
  // The main use case is for header-based libraries (eg templates), as they will
@@ -60,16 +57,9 @@ namespace base_internal {
60
57
 
61
58
  [[noreturn]] void ThrowStdBadFunctionCall();
62
59
  [[noreturn]] void ThrowStdBadAlloc();
60
+ [[noreturn]] void ThrowStdBadArrayNewLength();
63
61
 
64
- // ThrowStdBadArrayNewLength() cannot be consistently supported because
65
- // std::bad_array_new_length is missing in libstdc++ until 4.9.0.
66
- // https://gcc.gnu.org/onlinedocs/gcc-4.8.3/libstdc++/api/a01379_source.html
67
- // https://gcc.gnu.org/onlinedocs/gcc-4.9.0/libstdc++/api/a01327_source.html
68
- // libcxx (as of 3.2) and msvc (as of 2015) both have it.
69
- // [[noreturn]] void ThrowStdBadArrayNewLength();
70
-
71
- } // namespace base_internal
72
62
  ABSL_NAMESPACE_END
73
63
  } // namespace absl
74
64
 
75
- #endif // ABSL_BASE_INTERNAL_THROW_DELEGATE_H_
65
+ #endif // ABSL_BASE_THROW_DELEGATE_H_
@@ -12,28 +12,29 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/base/internal/throw_delegate.h"
15
+ #include "absl/base/throw_delegate.h"
16
16
 
17
17
  #include <functional>
18
18
  #include <new>
19
19
  #include <stdexcept>
20
20
 
21
- #include "absl/base/config.h"
22
21
  #include "gtest/gtest.h"
22
+ #include "absl/base/config.h"
23
23
 
24
24
  namespace {
25
25
 
26
- using absl::base_internal::ThrowStdLogicError;
27
- using absl::base_internal::ThrowStdInvalidArgument;
28
- using absl::base_internal::ThrowStdDomainError;
29
- using absl::base_internal::ThrowStdLengthError;
30
- using absl::base_internal::ThrowStdOutOfRange;
31
- using absl::base_internal::ThrowStdRuntimeError;
32
- using absl::base_internal::ThrowStdRangeError;
33
- using absl::base_internal::ThrowStdOverflowError;
34
- using absl::base_internal::ThrowStdUnderflowError;
35
- using absl::base_internal::ThrowStdBadFunctionCall;
36
- using absl::base_internal::ThrowStdBadAlloc;
26
+ using absl::ThrowStdBadAlloc;
27
+ using absl::ThrowStdBadArrayNewLength;
28
+ using absl::ThrowStdBadFunctionCall;
29
+ using absl::ThrowStdDomainError;
30
+ using absl::ThrowStdInvalidArgument;
31
+ using absl::ThrowStdLengthError;
32
+ using absl::ThrowStdLogicError;
33
+ using absl::ThrowStdOutOfRange;
34
+ using absl::ThrowStdOverflowError;
35
+ using absl::ThrowStdRangeError;
36
+ using absl::ThrowStdRuntimeError;
37
+ using absl::ThrowStdUnderflowError;
37
38
 
38
39
  constexpr const char* what_arg = "The quick brown fox jumps over the lazy dog";
39
40
 
@@ -151,25 +152,15 @@ TEST(ThrowDelegate, ThrowStdUnderflowErrorString) {
151
152
  }
152
153
 
153
154
  TEST(ThrowDelegate, ThrowStdBadFunctionCallNoWhat) {
154
- #ifdef ABSL_HAVE_EXCEPTIONS
155
- try {
156
- ThrowStdBadFunctionCall();
157
- FAIL() << "Didn't throw";
158
- } catch (const std::bad_function_call&) {
159
- }
160
- #ifdef _LIBCPP_VERSION
161
- catch (const std::exception&) {
162
- // https://reviews.llvm.org/D92397 causes issues with the vtable for
163
- // std::bad_function_call when using libc++ as a shared library.
164
- }
165
- #endif
166
- #else
167
- EXPECT_DEATH_IF_SUPPORTED(ThrowStdBadFunctionCall(), "");
168
- #endif
155
+ ExpectThrowNoWhat<std::bad_function_call>(ThrowStdBadFunctionCall);
169
156
  }
170
157
 
171
158
  TEST(ThrowDelegate, ThrowStdBadAllocNoWhat) {
172
159
  ExpectThrowNoWhat<std::bad_alloc>(ThrowStdBadAlloc);
173
160
  }
174
161
 
162
+ TEST(ThrowDelegate, ThrowStdBadArrayNewLength) {
163
+ ExpectThrowNoWhat<std::bad_array_new_length>(ThrowStdBadArrayNewLength);
164
+ }
165
+
175
166
  } // namespace
@@ -39,6 +39,7 @@ cc_library(
39
39
  linkopts = ABSL_DEFAULT_LINKOPTS,
40
40
  deps = [
41
41
  "//absl/base:core_headers",
42
+ "//absl/base:hardening",
42
43
  "//absl/utility",
43
44
  ],
44
45
  )
@@ -54,6 +55,7 @@ cc_library(
54
55
  ":cleanup_internal",
55
56
  "//absl/base:config",
56
57
  "//absl/base:core_headers",
58
+ "//absl/base:hardening",
57
59
  ],
58
60
  )
59
61
 
@@ -22,6 +22,7 @@ absl_cc_library(
22
22
  ${ABSL_DEFAULT_COPTS}
23
23
  DEPS
24
24
  absl::core_headers
25
+ absl::hardening
25
26
  absl::utility
26
27
  PUBLIC
27
28
  )
@@ -37,6 +38,7 @@ absl_cc_library(
37
38
  absl::cleanup_internal
38
39
  absl::config
39
40
  absl::core_headers
41
+ absl::hardening
40
42
  PUBLIC
41
43
  )
42
44
 
@@ -75,6 +75,7 @@
75
75
  #include <utility>
76
76
 
77
77
  #include "absl/base/config.h"
78
+ #include "absl/base/internal/hardening.h"
78
79
  #include "absl/base/macros.h"
79
80
  #include "absl/cleanup/internal/cleanup.h"
80
81
 
@@ -95,12 +96,12 @@ class [[nodiscard]] Cleanup final {
95
96
  Cleanup(Cleanup&& other) = default;
96
97
 
97
98
  void Cancel() && {
98
- ABSL_HARDENING_ASSERT(storage_.IsCallbackEngaged());
99
+ absl::base_internal::HardeningAssert(storage_.IsCallbackEngaged());
99
100
  storage_.DestroyCallback();
100
101
  }
101
102
 
102
103
  void Invoke() && {
103
- ABSL_HARDENING_ASSERT(storage_.IsCallbackEngaged());
104
+ absl::base_internal::HardeningAssert(storage_.IsCallbackEngaged());
104
105
  storage_.InvokeCallback();
105
106
  storage_.DestroyCallback();
106
107
  }
@@ -19,6 +19,7 @@
19
19
  #include <type_traits>
20
20
  #include <utility>
21
21
 
22
+ #include "absl/base/internal/hardening.h"
22
23
  #include "absl/base/macros.h"
23
24
  #include "absl/base/thread_annotations.h"
24
25
  #include "absl/utility/utility.h"
@@ -49,13 +50,13 @@ class Storage {
49
50
  explicit Storage(Callback callback) {
50
51
  // Placement-new into a character buffer is used for eager destruction when
51
52
  // the cleanup is invoked or cancelled. To ensure this optimizes well, the
52
- // behavior is implemented locally instead of using an absl::optional.
53
+ // behavior is implemented locally instead of using a std::optional.
53
54
  ::new (GetCallbackBuffer()) Callback(std::move(callback));
54
55
  is_callback_engaged_ = true;
55
56
  }
56
57
 
57
58
  Storage(Storage&& other) {
58
- ABSL_HARDENING_ASSERT(other.IsCallbackEngaged());
59
+ absl::base_internal::HardeningAssert(other.IsCallbackEngaged());
59
60
 
60
61
  ::new (GetCallbackBuffer()) Callback(std::move(other.GetCallback()));
61
62
  is_callback_engaged_ = true;
@@ -54,8 +54,6 @@ cc_test(
54
54
  ":compressed_tuple",
55
55
  ":test_instance_tracker",
56
56
  "//absl/memory",
57
- "//absl/types:any",
58
- "//absl/types:optional",
59
57
  "//absl/utility",
60
58
  "@googletest//:gtest",
61
59
  "@googletest//:gtest_main",
@@ -73,6 +71,7 @@ cc_library(
73
71
  "//absl/base:config",
74
72
  "//absl/base:core_headers",
75
73
  "//absl/base:dynamic_annotations",
74
+ "//absl/base:hardening",
76
75
  "//absl/base:iterator_traits_internal",
77
76
  "//absl/base:throw_delegate",
78
77
  "//absl/hash:weakly_mixed_integer",
@@ -135,6 +134,7 @@ cc_library(
135
134
  "//absl/base:base_internal",
136
135
  "//absl/base:config",
137
136
  "//absl/base:core_headers",
137
+ "//absl/base:hardening",
138
138
  "//absl/memory",
139
139
  "//absl/meta:type_traits",
140
140
  "//absl/types:span",
@@ -150,6 +150,7 @@ cc_library(
150
150
  ":inlined_vector_internal",
151
151
  "//absl/algorithm",
152
152
  "//absl/base:core_headers",
153
+ "//absl/base:hardening",
153
154
  "//absl/base:iterator_traits_internal",
154
155
  "//absl/base:throw_delegate",
155
156
  "//absl/hash:weakly_mixed_integer",
@@ -227,6 +228,7 @@ cc_library(
227
228
  linkopts = ABSL_DEFAULT_LINKOPTS,
228
229
  visibility = [
229
230
  "//absl:__subpackages__",
231
+ "//absl:friends",
230
232
  ],
231
233
  deps = ["//absl/types:compare"],
232
234
  )
@@ -283,7 +285,6 @@ cc_test(
283
285
  "//absl/base:config",
284
286
  "//absl/log:check",
285
287
  "//absl/meta:type_traits",
286
- "//absl/types:any",
287
288
  "@googletest//:gtest",
288
289
  "@googletest//:gtest_main",
289
290
  ],
@@ -444,7 +445,7 @@ cc_library(
444
445
  copts = ABSL_DEFAULT_COPTS,
445
446
  linkopts = ABSL_DEFAULT_LINKOPTS,
446
447
  visibility = [
447
- "//visibility:private",
448
+ "//absl:friends",
448
449
  ],
449
450
  deps = [
450
451
  ":common",
@@ -779,6 +780,9 @@ cc_test(
779
780
  copts = ABSL_TEST_COPTS,
780
781
  linkstatic = 1,
781
782
  tags = NOTEST_TAGS_MOBILE + [
783
+ "no_test_chromiumos_arm",
784
+ "no_test_chromiumos_armv7",
785
+ "no_test_chromiumos_x86_64",
782
786
  "no_test_loonix",
783
787
  # TODO(b/237097643): investigate race and remove
784
788
  "noarm_gemu",
@@ -810,7 +814,6 @@ cc_test(
810
814
  "//absl/numeric:int128",
811
815
  "//absl/random",
812
816
  "//absl/strings",
813
- "//absl/types:optional",
814
817
  "@googletest//:gtest",
815
818
  "@googletest//:gtest_main",
816
819
  ],
@@ -855,7 +858,6 @@ cc_binary(
855
858
  "//absl/random:distributions",
856
859
  "//absl/strings",
857
860
  "//absl/strings:str_format",
858
- "//absl/types:optional",
859
861
  ],
860
862
  )
861
863
 
@@ -944,6 +946,7 @@ cc_library(
944
946
  copts = ABSL_TEST_COPTS,
945
947
  linkopts = ABSL_DEFAULT_LINKOPTS,
946
948
  visibility = [
949
+ "//absl:friends",
947
950
  "//absl/container:__pkg__",
948
951
  ],
949
952
  deps = [
@@ -961,6 +964,7 @@ cc_library(
961
964
  copts = ABSL_TEST_COPTS,
962
965
  linkopts = ABSL_DEFAULT_LINKOPTS,
963
966
  visibility = [
967
+ "//absl:friends",
964
968
  "//absl/container:__pkg__",
965
969
  ],
966
970
  deps = [
@@ -977,6 +981,7 @@ cc_library(
977
981
  copts = ABSL_TEST_COPTS,
978
982
  linkopts = ABSL_DEFAULT_LINKOPTS,
979
983
  visibility = [
984
+ "//absl:friends",
980
985
  "//absl/container:__pkg__",
981
986
  ],
982
987
  deps = [
@@ -993,6 +998,7 @@ cc_library(
993
998
  copts = ABSL_TEST_COPTS,
994
999
  linkopts = ABSL_DEFAULT_LINKOPTS,
995
1000
  visibility = [
1001
+ "//absl:friends",
996
1002
  "//absl/container:__pkg__",
997
1003
  ],
998
1004
  deps = [
@@ -1011,6 +1017,7 @@ cc_library(
1011
1017
  copts = ABSL_TEST_COPTS,
1012
1018
  linkopts = ABSL_DEFAULT_LINKOPTS,
1013
1019
  visibility = [
1020
+ "//absl:friends",
1014
1021
  "//absl/container:__pkg__",
1015
1022
  ],
1016
1023
  deps = [
@@ -1026,6 +1033,7 @@ cc_library(
1026
1033
  copts = ABSL_TEST_COPTS,
1027
1034
  linkopts = ABSL_DEFAULT_LINKOPTS,
1028
1035
  visibility = [
1036
+ "//absl:friends",
1029
1037
  "//absl/container:__pkg__",
1030
1038
  ],
1031
1039
  deps = [
@@ -1041,6 +1049,7 @@ cc_library(
1041
1049
  copts = ABSL_TEST_COPTS,
1042
1050
  linkopts = ABSL_DEFAULT_LINKOPTS,
1043
1051
  visibility = [
1052
+ "//absl:friends",
1044
1053
  "//absl/container:__pkg__",
1045
1054
  ],
1046
1055
  deps = [
@@ -1057,6 +1066,7 @@ cc_library(
1057
1066
  copts = ABSL_TEST_COPTS,
1058
1067
  linkopts = ABSL_DEFAULT_LINKOPTS,
1059
1068
  visibility = [
1069
+ "//absl:friends",
1060
1070
  "//absl/container:__pkg__",
1061
1071
  ],
1062
1072
  deps = [
@@ -1137,6 +1147,7 @@ cc_library(
1137
1147
  ":layout",
1138
1148
  "//absl/base:config",
1139
1149
  "//absl/base:core_headers",
1150
+ "//absl/base:hardening",
1140
1151
  "//absl/base:raw_logging_internal",
1141
1152
  "//absl/base:throw_delegate",
1142
1153
  "//absl/hash:weakly_mixed_integer",
@@ -1193,7 +1204,6 @@ cc_test(
1193
1204
  "//absl/random",
1194
1205
  "//absl/strings",
1195
1206
  "//absl/types:compare",
1196
- "//absl/types:optional",
1197
1207
  "@googletest//:gtest",
1198
1208
  "@googletest//:gtest_main",
1199
1209
  ],
@@ -1235,6 +1245,7 @@ cc_library(
1235
1245
  copts = ABSL_TEST_COPTS,
1236
1246
  linkopts = ABSL_DEFAULT_LINKOPTS,
1237
1247
  visibility = [
1248
+ "//absl:friends",
1238
1249
  "//absl/container:__pkg__",
1239
1250
  ],
1240
1251
  deps = [
@@ -1358,6 +1369,7 @@ cc_library(
1358
1369
  ":layout",
1359
1370
  "//absl/base:config",
1360
1371
  "//absl/base:core_headers",
1372
+ "//absl/base:hardening",
1361
1373
  "//absl/base:iterator_traits_internal",
1362
1374
  ],
1363
1375
  )
@@ -35,6 +35,7 @@ absl_cc_library(
35
35
  absl::container_memory
36
36
  absl::cord
37
37
  absl::core_headers
38
+ absl::hardening
38
39
  absl::layout
39
40
  absl::memory
40
41
  absl::raw_logging_internal
@@ -80,7 +81,6 @@ absl_cc_test(
80
81
  absl::core_headers
81
82
  absl::flags
82
83
  absl::hash_testing
83
- absl::optional
84
84
  absl::random_random
85
85
  absl::raw_logging_internal
86
86
  absl::strings
@@ -110,10 +110,8 @@ absl_cc_test(
110
110
  COPTS
111
111
  ${ABSL_TEST_COPTS}
112
112
  DEPS
113
- absl::any
114
113
  absl::compressed_tuple
115
114
  absl::memory
116
- absl::optional
117
115
  absl::test_instance_tracker
118
116
  absl::utility
119
117
  GTest::gmock_main
@@ -132,6 +130,7 @@ absl_cc_library(
132
130
  absl::config
133
131
  absl::core_headers
134
132
  absl::dynamic_annotations
133
+ absl::hardening
135
134
  absl::iterator_traits_internal
136
135
  absl::throw_delegate
137
136
  absl::memory
@@ -184,6 +183,7 @@ absl_cc_library(
184
183
  absl::compressed_tuple
185
184
  absl::config
186
185
  absl::core_headers
186
+ absl::hardening
187
187
  absl::memory
188
188
  absl::span
189
189
  absl::type_traits
@@ -200,6 +200,7 @@ absl_cc_library(
200
200
  DEPS
201
201
  absl::algorithm
202
202
  absl::core_headers
203
+ absl::hardening
203
204
  absl::inlined_vector_internal
204
205
  absl::throw_delegate
205
206
  absl::memory
@@ -309,7 +310,6 @@ absl_cc_test(
309
310
  COPTS
310
311
  ${ABSL_TEST_COPTS}
311
312
  DEPS
312
- absl::any
313
313
  absl::check
314
314
  absl::config
315
315
  absl::flat_hash_map
@@ -840,7 +840,6 @@ absl_cc_test(
840
840
  absl::log
841
841
  absl::memory
842
842
  absl::node_hash_set
843
- absl::optional
844
843
  absl::prefetch
845
844
  absl::random_random
846
845
  absl::raw_hash_set
@@ -1119,6 +1118,7 @@ absl_cc_library(
1119
1118
  absl::config
1120
1119
  absl::test_instance_tracker
1121
1120
  GTest::gmock
1121
+ TESTONLY
1122
1122
  )
1123
1123
 
1124
1124
  absl_cc_library(
@@ -1216,6 +1216,7 @@ absl_cc_library(
1216
1216
  DEPS
1217
1217
  absl::config
1218
1218
  absl::core_headers
1219
+ absl::hardening
1219
1220
  absl::iterator_traits_internal
1220
1221
  absl::layout
1221
1222
  )
@@ -668,15 +668,13 @@ BIG_TYPE_BENCHMARKS(32, 32);
668
668
  template <int Size>
669
669
  struct BigTypePtr {
670
670
  BigTypePtr() : BigTypePtr(0) {}
671
- explicit BigTypePtr(int x) {
672
- ptr = absl::make_unique<BigType<Size, Size>>(x);
673
- }
671
+ explicit BigTypePtr(int x) { ptr = std::make_unique<BigType<Size, Size>>(x); }
674
672
  BigTypePtr(const BigTypePtr& other) {
675
- ptr = absl::make_unique<BigType<Size, Size>>(*other.ptr);
673
+ ptr = std::make_unique<BigType<Size, Size>>(*other.ptr);
676
674
  }
677
675
  BigTypePtr(BigTypePtr&& other) noexcept = default;
678
676
  BigTypePtr& operator=(const BigTypePtr& other) {
679
- ptr = absl::make_unique<BigType<Size, Size>>(*other.ptr);
677
+ ptr = std::make_unique<BigType<Size, Size>>(*other.ptr);
680
678
  }
681
679
  BigTypePtr& operator=(BigTypePtr&& other) noexcept = default;
682
680
 
@@ -805,23 +805,23 @@ struct set_slot_policy {
805
805
 
806
806
  template <typename Alloc, class... Args>
807
807
  static void construct(Alloc *alloc, slot_type *slot, Args &&...args) {
808
- absl::allocator_traits<Alloc>::construct(*alloc, slot,
809
- std::forward<Args>(args)...);
808
+ std::allocator_traits<Alloc>::construct(*alloc, slot,
809
+ std::forward<Args>(args)...);
810
810
  }
811
811
 
812
812
  template <typename Alloc>
813
813
  static void construct(Alloc *alloc, slot_type *slot, slot_type *other) {
814
- absl::allocator_traits<Alloc>::construct(*alloc, slot, std::move(*other));
814
+ std::allocator_traits<Alloc>::construct(*alloc, slot, std::move(*other));
815
815
  }
816
816
 
817
817
  template <typename Alloc>
818
818
  static void construct(Alloc *alloc, slot_type *slot, const slot_type *other) {
819
- absl::allocator_traits<Alloc>::construct(*alloc, slot, *other);
819
+ std::allocator_traits<Alloc>::construct(*alloc, slot, *other);
820
820
  }
821
821
 
822
822
  template <typename Alloc>
823
823
  static void destroy(Alloc *alloc, slot_type *slot) {
824
- absl::allocator_traits<Alloc>::destroy(*alloc, slot);
824
+ std::allocator_traits<Alloc>::destroy(*alloc, slot);
825
825
  }
826
826
  };
827
827
 
@@ -24,6 +24,7 @@
24
24
  #include <map>
25
25
  #include <memory>
26
26
  #include <numeric>
27
+ #include <optional>
27
28
  #include <stdexcept>
28
29
  #include <string>
29
30
  #include <type_traits>
@@ -47,7 +48,6 @@
47
48
  #include "absl/strings/str_split.h"
48
49
  #include "absl/strings/string_view.h"
49
50
  #include "absl/types/compare.h"
50
- #include "absl/types/optional.h"
51
51
 
52
52
  ABSL_FLAG(int, test_values, 10000, "The number of values to use for tests");
53
53
 
@@ -1174,7 +1174,7 @@ TEST(Btree, BtreeMapCanHoldMoveOnlyTypes) {
1174
1174
 
1175
1175
  std::unique_ptr<std::string> &v = m["A"];
1176
1176
  EXPECT_TRUE(v == nullptr);
1177
- v = absl::make_unique<std::string>("X");
1177
+ v = std::make_unique<std::string>("X");
1178
1178
 
1179
1179
  auto iter = m.find("A");
1180
1180
  EXPECT_EQ("X", *iter->second);
@@ -3007,11 +3007,11 @@ TEST(Btree, InvalidComparatorsCaught) {
3007
3007
  // compare differently with each other from how they compare with instances
3008
3008
  // that don't have the optional field.
3009
3009
  struct ClockTime {
3010
- absl::optional<int> hour;
3010
+ std::optional<int> hour;
3011
3011
  int minute;
3012
3012
  };
3013
3013
  // `comp(a,b) && comp(b,c) && !comp(a,c)` violates transitivity.
3014
- ClockTime a = {absl::nullopt, 1};
3014
+ ClockTime a = {std::nullopt, 1};
3015
3015
  ClockTime b = {2, 5};
3016
3016
  ClockTime c = {6, 0};
3017
3017
  {
@@ -3411,8 +3411,8 @@ TEST(Btree, IteratorAdditionOutOfBounds) {
3411
3411
  EXPECT_EQ(backward, set.begin());
3412
3412
 
3413
3413
  if (IsAssertEnabled()) {
3414
- EXPECT_DEATH(forward += 1, "n == 0");
3415
- EXPECT_DEATH(backward += -1, "position >= node->start");
3414
+ EXPECT_DEATH(forward += 1, "");
3415
+ EXPECT_DEATH(backward += -1, "");
3416
3416
  }
3417
3417
  }
3418
3418
 
@@ -3455,8 +3455,8 @@ TEST(Btree, IteratorSubtractionOutOfBounds) {
3455
3455
  EXPECT_EQ(forward, set.end());
3456
3456
 
3457
3457
  if (IsAssertEnabled()) {
3458
- EXPECT_DEATH(backward -= 1, "position >= node->start");
3459
- EXPECT_DEATH(forward -= -1, "n == 0");
3458
+ EXPECT_DEATH(backward -= 1, "");
3459
+ EXPECT_DEATH(forward -= -1, "");
3460
3460
  }
3461
3461
  }
3462
3462
 
@@ -3465,7 +3465,7 @@ TEST(Btree, DereferencingEndIterator) {
3465
3465
 
3466
3466
  absl::btree_set<int> set;
3467
3467
  for (int i = 0; i < 1000; ++i) set.insert(i);
3468
- EXPECT_DEATH(*set.end(), R"regex(Dereferencing end\(\) iterator)regex");
3468
+ EXPECT_DEATH(*set.end(), "");
3469
3469
  }
3470
3470
 
3471
3471
  TEST(Btree, InvalidIteratorComparison) {
@@ -3477,13 +3477,10 @@ TEST(Btree, InvalidIteratorComparison) {
3477
3477
  set2.insert(i);
3478
3478
  }
3479
3479
 
3480
- constexpr const char *kValueInitDeathMessage =
3481
- "Comparing default-constructed iterator with .*non-default-constructed "
3482
- "iterator";
3483
3480
  typename absl::btree_set<int>::iterator iter1, iter2;
3484
3481
  EXPECT_EQ(iter1, iter2);
3485
- EXPECT_DEATH(void(set1.begin() == iter1), kValueInitDeathMessage);
3486
- EXPECT_DEATH(void(iter1 == set1.begin()), kValueInitDeathMessage);
3482
+ EXPECT_DEATH(void(set1.begin() == iter1), "");
3483
+ EXPECT_DEATH(void(iter1 == set1.begin()), "");
3487
3484
 
3488
3485
  constexpr const char *kDifferentContainerDeathMessage =
3489
3486
  "Comparing iterators from different containers";