re2 1.22.2 → 1.23.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 (495) hide show
  1. package/README.md +60 -4
  2. package/binding.gyp +5 -1
  3. package/lib/addon.cc +4 -0
  4. package/lib/new.cc +1 -246
  5. package/lib/pattern.cc +252 -0
  6. package/lib/pattern.h +10 -0
  7. package/lib/set.cc +777 -0
  8. package/lib/wrapped_re2_set.h +42 -0
  9. package/package.json +21 -9
  10. package/re2.d.ts +46 -9
  11. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +14 -24
  12. package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +3 -3
  13. package/vendor/abseil-cpp/CMake/README.md +2 -2
  14. package/vendor/abseil-cpp/CMakeLists.txt +3 -3
  15. package/vendor/abseil-cpp/MODULE.bazel +6 -9
  16. package/vendor/abseil-cpp/README.md +6 -8
  17. package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +6 -4
  18. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +3 -0
  19. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +1 -0
  20. package/vendor/abseil-cpp/absl/algorithm/container.h +2 -19
  21. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +4 -11
  22. package/vendor/abseil-cpp/absl/base/BUILD.bazel +60 -45
  23. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +57 -38
  24. package/vendor/abseil-cpp/absl/base/attributes.h +76 -7
  25. package/vendor/abseil-cpp/absl/base/attributes_test.cc +43 -0
  26. package/vendor/abseil-cpp/absl/base/call_once.h +11 -12
  27. package/vendor/abseil-cpp/absl/base/config.h +22 -129
  28. package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -4
  29. package/vendor/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  30. package/vendor/abseil-cpp/absl/base/{internal/fast_type_id_test.cc → fast_type_id_test.cc} +34 -30
  31. package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  32. package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  33. package/vendor/abseil-cpp/absl/base/internal/endian.h +34 -38
  34. package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  35. package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
  36. package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  37. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -9
  38. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
  39. package/vendor/abseil-cpp/absl/base/internal/poison.cc +7 -6
  40. package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +15 -28
  41. package/vendor/abseil-cpp/absl/base/internal/spinlock.h +65 -35
  42. package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +2 -2
  43. package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +2 -2
  44. package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +1 -1
  45. package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +4 -4
  46. package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  47. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +4 -0
  48. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
  49. package/vendor/abseil-cpp/absl/base/no_destructor.h +11 -32
  50. package/vendor/abseil-cpp/absl/base/no_destructor_test.cc +0 -4
  51. package/vendor/abseil-cpp/absl/base/nullability.h +83 -72
  52. package/vendor/abseil-cpp/absl/base/nullability_test.cc +25 -64
  53. package/vendor/abseil-cpp/absl/base/options.h +3 -80
  54. package/vendor/abseil-cpp/absl/base/policy_checks.h +7 -7
  55. package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +15 -0
  56. package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +50 -30
  57. package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -1
  58. package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -1
  59. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  60. package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -2
  61. package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  62. package/vendor/abseil-cpp/absl/container/BUILD.bazel +74 -1
  63. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +73 -0
  64. package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +51 -9
  65. package/vendor/abseil-cpp/absl/container/btree_map.h +8 -6
  66. package/vendor/abseil-cpp/absl/container/btree_set.h +8 -6
  67. package/vendor/abseil-cpp/absl/container/btree_test.cc +89 -4
  68. package/vendor/abseil-cpp/absl/container/fixed_array.h +7 -15
  69. package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +17 -0
  70. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +20 -15
  71. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +8 -14
  72. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +19 -14
  73. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +46 -0
  74. package/vendor/abseil-cpp/absl/container/inlined_vector.h +7 -6
  75. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +28 -0
  76. package/vendor/abseil-cpp/absl/container/internal/btree.h +132 -29
  77. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +175 -71
  78. package/vendor/abseil-cpp/absl/container/internal/common.h +43 -0
  79. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
  80. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +28 -24
  81. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +4 -17
  82. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +80 -17
  83. package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +32 -2
  84. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +13 -8
  85. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +1 -52
  86. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +9 -31
  87. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +23 -32
  88. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +5 -1
  89. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +11 -23
  90. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +14 -9
  91. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +516 -0
  92. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
  93. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +23 -6
  94. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +32 -13
  95. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +8 -8
  96. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
  97. package/vendor/abseil-cpp/absl/container/internal/layout.h +26 -42
  98. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  99. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +1506 -213
  100. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +1095 -1658
  101. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +3 -2
  102. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +31 -29
  103. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +51 -20
  104. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  105. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
  106. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +707 -363
  107. package/vendor/abseil-cpp/absl/container/node_hash_map.h +20 -15
  108. package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +0 -3
  109. package/vendor/abseil-cpp/absl/container/node_hash_set.h +18 -13
  110. package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +3 -8
  111. package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +1 -1
  112. package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +9 -20
  113. package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +9 -20
  114. package/vendor/abseil-cpp/absl/copts/copts.py +24 -15
  115. package/vendor/abseil-cpp/absl/crc/BUILD.bazel +3 -0
  116. package/vendor/abseil-cpp/absl/crc/crc32c.cc +0 -4
  117. package/vendor/abseil-cpp/absl/crc/crc32c.h +7 -5
  118. package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +17 -4
  119. package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +30 -0
  120. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +17 -0
  121. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
  122. package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  123. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
  124. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +136 -165
  125. package/vendor/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
  126. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +7 -0
  127. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +4 -0
  128. package/vendor/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  129. package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  130. package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  131. package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
  132. package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  133. package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +11 -10
  134. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
  135. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  136. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
  137. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  138. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  139. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  140. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
  141. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  142. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  143. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -14
  144. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
  145. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +161 -27
  146. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  147. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +435 -1
  148. package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +55 -63
  149. package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  150. package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  151. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -0
  152. package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +3 -0
  153. package/vendor/abseil-cpp/absl/flags/commandlineflag.h +2 -2
  154. package/vendor/abseil-cpp/absl/flags/flag.h +4 -3
  155. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  156. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +14 -13
  157. package/vendor/abseil-cpp/absl/flags/internal/flag.h +34 -34
  158. package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
  159. package/vendor/abseil-cpp/absl/flags/internal/registry.h +4 -3
  160. package/vendor/abseil-cpp/absl/flags/internal/usage.cc +2 -2
  161. package/vendor/abseil-cpp/absl/flags/parse.cc +10 -6
  162. package/vendor/abseil-cpp/absl/flags/reflection.cc +9 -7
  163. package/vendor/abseil-cpp/absl/flags/usage.cc +2 -2
  164. package/vendor/abseil-cpp/absl/flags/usage_config.cc +2 -2
  165. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +7 -6
  166. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +2 -4
  167. package/vendor/abseil-cpp/absl/functional/any_invocable.h +15 -15
  168. package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +10 -42
  169. package/vendor/abseil-cpp/absl/functional/function_ref.h +2 -9
  170. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +10 -0
  171. package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +1 -1
  172. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +112 -227
  173. package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  174. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  175. package/vendor/abseil-cpp/absl/functional/overload.h +0 -20
  176. package/vendor/abseil-cpp/absl/functional/overload_test.cc +1 -7
  177. package/vendor/abseil-cpp/absl/hash/BUILD.bazel +16 -9
  178. package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +6 -9
  179. package/vendor/abseil-cpp/absl/hash/hash.h +18 -0
  180. package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +3 -0
  181. package/vendor/abseil-cpp/absl/hash/hash_instantiated_test.cc +1 -1
  182. package/vendor/abseil-cpp/absl/hash/hash_test.cc +131 -30
  183. package/vendor/abseil-cpp/absl/hash/hash_testing.h +20 -20
  184. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +129 -17
  185. package/vendor/abseil-cpp/absl/hash/internal/hash.h +326 -362
  186. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +54 -151
  187. package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +14 -2
  188. package/vendor/abseil-cpp/absl/{strings/cord_buffer.cc → hash/internal/weakly_mixed_integer.h} +14 -6
  189. package/vendor/abseil-cpp/absl/log/BUILD.bazel +4 -0
  190. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +7 -0
  191. package/vendor/abseil-cpp/absl/log/check.h +2 -1
  192. package/vendor/abseil-cpp/absl/log/check_test_impl.inc +308 -14
  193. package/vendor/abseil-cpp/absl/log/die_if_null.h +2 -2
  194. package/vendor/abseil-cpp/absl/log/flags_test.cc +7 -0
  195. package/vendor/abseil-cpp/absl/log/globals.h +4 -5
  196. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +13 -9
  197. package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  198. package/vendor/abseil-cpp/absl/log/internal/check_op.cc +24 -22
  199. package/vendor/abseil-cpp/absl/log/internal/check_op.h +149 -94
  200. package/vendor/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  201. package/vendor/abseil-cpp/absl/log/internal/conditions.h +7 -2
  202. package/vendor/abseil-cpp/absl/log/internal/fnmatch_test.cc +1 -0
  203. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +85 -43
  204. package/vendor/abseil-cpp/absl/log/internal/log_message.h +84 -59
  205. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
  206. package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  207. package/vendor/abseil-cpp/absl/log/internal/proto.cc +3 -2
  208. package/vendor/abseil-cpp/absl/log/internal/proto.h +3 -3
  209. package/vendor/abseil-cpp/absl/log/internal/strip.h +4 -12
  210. package/vendor/abseil-cpp/absl/log/internal/structured.h +3 -7
  211. package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +9 -9
  212. package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  213. package/vendor/abseil-cpp/absl/log/internal/voidify.h +10 -4
  214. package/vendor/abseil-cpp/absl/log/log.h +48 -35
  215. package/vendor/abseil-cpp/absl/log/log_basic_test_impl.inc +45 -0
  216. package/vendor/abseil-cpp/absl/log/log_entry.cc +241 -19
  217. package/vendor/abseil-cpp/absl/log/log_entry.h +2 -0
  218. package/vendor/abseil-cpp/absl/log/log_format_test.cc +412 -6
  219. package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +20 -0
  220. package/vendor/abseil-cpp/absl/log/log_sink_registry.h +2 -2
  221. package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +15 -2
  222. package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +7 -1
  223. package/vendor/abseil-cpp/absl/log/structured_test.cc +1 -0
  224. package/vendor/abseil-cpp/absl/memory/BUILD.bazel +2 -0
  225. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
  226. package/vendor/abseil-cpp/absl/meta/type_traits.h +46 -175
  227. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1 -478
  228. package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +7 -3
  229. package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +2 -0
  230. package/vendor/abseil-cpp/absl/numeric/bits.h +68 -2
  231. package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +1 -1
  232. package/vendor/abseil-cpp/absl/numeric/bits_test.cc +83 -0
  233. package/vendor/abseil-cpp/absl/numeric/int128.cc +0 -52
  234. package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +14 -15
  235. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +13 -8
  236. package/vendor/abseil-cpp/absl/numeric/internal/bits.h +39 -7
  237. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +47 -0
  238. package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +38 -0
  239. package/vendor/abseil-cpp/absl/profiling/hashtable.cc +124 -0
  240. package/vendor/abseil-cpp/absl/profiling/hashtable.h +40 -0
  241. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  242. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +462 -0
  243. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +138 -0
  244. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
  245. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +7 -3
  246. package/vendor/abseil-cpp/absl/random/BUILD.bazel +6 -4
  247. package/vendor/abseil-cpp/absl/random/CMakeLists.txt +20 -19
  248. package/vendor/abseil-cpp/absl/random/benchmarks.cc +16 -23
  249. package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
  250. package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +7 -2
  251. package/vendor/abseil-cpp/absl/random/distributions.h +6 -8
  252. package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
  253. package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +19 -20
  254. package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
  255. package/vendor/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +24 -92
  256. package/vendor/abseil-cpp/absl/{base/inline_variable_test_b.cc → random/internal/entropy_pool.h} +14 -6
  257. package/vendor/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
  258. package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +6 -7
  259. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  260. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +39 -0
  261. package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +8 -6
  262. package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
  263. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  264. package/vendor/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  265. package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +3 -0
  266. package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +5 -4
  267. package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +8 -10
  268. package/vendor/abseil-cpp/absl/random/random.h +88 -53
  269. package/vendor/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  270. package/vendor/abseil-cpp/absl/status/BUILD.bazel +26 -0
  271. package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
  272. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  273. package/vendor/abseil-cpp/absl/status/internal/status_matchers.cc +4 -3
  274. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +194 -32
  275. package/vendor/abseil-cpp/absl/status/status.cc +4 -8
  276. package/vendor/abseil-cpp/absl/status/status.h +8 -8
  277. package/vendor/abseil-cpp/absl/{base/inline_variable_test_a.cc → status/status_benchmark.cc} +20 -10
  278. package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +65 -0
  279. package/vendor/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  280. package/vendor/abseil-cpp/absl/status/statusor.cc +2 -2
  281. package/vendor/abseil-cpp/absl/status/statusor.h +49 -102
  282. package/vendor/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
  283. package/vendor/abseil-cpp/absl/status/statusor_test.cc +323 -1
  284. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +70 -34
  285. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +6 -3
  286. package/vendor/abseil-cpp/absl/strings/ascii.cc +9 -9
  287. package/vendor/abseil-cpp/absl/strings/ascii.h +18 -18
  288. package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +5 -8
  289. package/vendor/abseil-cpp/absl/strings/charconv.cc +21 -22
  290. package/vendor/abseil-cpp/absl/strings/charconv.h +5 -5
  291. package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +1 -2
  292. package/vendor/abseil-cpp/absl/strings/charset_benchmark.cc +1 -1
  293. package/vendor/abseil-cpp/absl/strings/cord.cc +54 -58
  294. package/vendor/abseil-cpp/absl/strings/cord.h +94 -84
  295. package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  296. package/vendor/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  297. package/vendor/abseil-cpp/absl/strings/cord_test.cc +23 -0
  298. package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +4 -5
  299. package/vendor/abseil-cpp/absl/strings/escaping.cc +130 -149
  300. package/vendor/abseil-cpp/absl/strings/escaping.h +9 -10
  301. package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +2 -3
  302. package/vendor/abseil-cpp/absl/strings/escaping_test.cc +19 -9
  303. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  304. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +1 -1
  305. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +6 -10
  306. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  307. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
  308. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +5 -9
  309. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +2 -4
  310. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
  311. package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +2 -3
  312. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +1 -2
  313. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  314. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  315. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1 -6
  316. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  317. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +3 -2
  318. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  319. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  320. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  321. package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +7 -2
  322. package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  323. package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  324. package/vendor/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  325. package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +196 -3
  326. package/vendor/abseil-cpp/absl/strings/numbers.cc +53 -32
  327. package/vendor/abseil-cpp/absl/strings/numbers.h +87 -58
  328. package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +1 -1
  329. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +634 -120
  330. package/vendor/abseil-cpp/absl/strings/str_cat.cc +6 -7
  331. package/vendor/abseil-cpp/absl/strings/str_cat.h +32 -32
  332. package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +25 -1
  333. package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +2 -7
  334. package/vendor/abseil-cpp/absl/strings/str_format.h +18 -18
  335. package/vendor/abseil-cpp/absl/strings/str_format_test.cc +8 -14
  336. package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +2 -3
  337. package/vendor/abseil-cpp/absl/strings/str_replace.cc +3 -3
  338. package/vendor/abseil-cpp/absl/strings/str_replace.h +6 -6
  339. package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +2 -3
  340. package/vendor/abseil-cpp/absl/strings/str_split.h +2 -2
  341. package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +2 -3
  342. package/vendor/abseil-cpp/absl/strings/string_view.cc +4 -9
  343. package/vendor/abseil-cpp/absl/strings/string_view.h +38 -39
  344. package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +4 -6
  345. package/vendor/abseil-cpp/absl/strings/string_view_test.cc +2 -50
  346. package/vendor/abseil-cpp/absl/strings/strip.h +4 -4
  347. package/vendor/abseil-cpp/absl/strings/substitute.cc +5 -4
  348. package/vendor/abseil-cpp/absl/strings/substitute.h +66 -64
  349. package/vendor/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
  350. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +6 -1
  351. package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +2 -1
  352. package/vendor/abseil-cpp/absl/synchronization/barrier.cc +1 -1
  353. package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +3 -3
  354. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
  355. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
  356. package/vendor/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  357. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
  358. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +2 -3
  359. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +6 -5
  360. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  361. package/vendor/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  362. package/vendor/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  363. package/vendor/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  364. package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +3 -3
  365. package/vendor/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  366. package/vendor/abseil-cpp/absl/synchronization/internal/waiter_test.cc +12 -3
  367. package/vendor/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  368. package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +4 -4
  369. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +27 -29
  370. package/vendor/abseil-cpp/absl/synchronization/mutex.h +205 -126
  371. package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +13 -31
  372. package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +183 -169
  373. package/vendor/abseil-cpp/absl/synchronization/notification.cc +5 -5
  374. package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
  375. package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +3 -3
  376. package/vendor/abseil-cpp/absl/time/BUILD.bazel +9 -1
  377. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +3 -1
  378. package/vendor/abseil-cpp/absl/time/civil_time.cc +1 -0
  379. package/vendor/abseil-cpp/absl/time/civil_time_test.cc +134 -0
  380. package/vendor/abseil-cpp/absl/time/clock.cc +11 -14
  381. package/vendor/abseil-cpp/absl/time/duration.cc +14 -9
  382. package/vendor/abseil-cpp/absl/time/duration_test.cc +6 -7
  383. package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +14 -3
  384. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
  385. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  386. package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +4 -490
  387. package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
  388. package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  389. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +41 -4
  390. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +22 -23
  391. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
  392. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1 -488
  393. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
  394. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  395. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  396. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  397. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +2 -1
  398. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +1 -1
  399. package/vendor/abseil-cpp/absl/time/time.h +24 -18
  400. package/vendor/abseil-cpp/absl/time/time_test.cc +26 -0
  401. package/vendor/abseil-cpp/absl/types/BUILD.bazel +11 -164
  402. package/vendor/abseil-cpp/absl/types/CMakeLists.txt +23 -167
  403. package/vendor/abseil-cpp/absl/types/any.h +9 -484
  404. package/vendor/abseil-cpp/absl/types/optional.h +7 -747
  405. package/vendor/abseil-cpp/absl/types/span.h +46 -19
  406. package/vendor/abseil-cpp/absl/types/span_test.cc +27 -0
  407. package/vendor/abseil-cpp/absl/types/variant.h +5 -784
  408. package/vendor/abseil-cpp/absl/types/variant_test.cc +43 -2597
  409. package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -41
  410. package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +0 -40
  411. package/vendor/abseil-cpp/absl/utility/utility.h +10 -185
  412. package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -3
  413. package/vendor/abseil-cpp/ci/cmake_common.sh +2 -2
  414. package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +12 -13
  415. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +24 -21
  416. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +12 -12
  417. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +23 -22
  418. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +20 -19
  419. package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
  420. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +17 -17
  421. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +10 -10
  422. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +1 -1
  423. package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +1 -1
  424. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +9 -10
  425. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +9 -1
  426. package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +14 -6
  427. package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +14 -6
  428. package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +1 -1
  429. package/vendor/re2/.bazelrc +4 -4
  430. package/vendor/re2/.bcr/metadata.template.json +16 -0
  431. package/vendor/re2/.bcr/presubmit.yml +57 -0
  432. package/vendor/re2/.bcr/source.template.json +5 -0
  433. package/vendor/re2/.github/bazel.sh +1 -7
  434. package/vendor/re2/.github/workflows/ci-bazel.yml +5 -5
  435. package/vendor/re2/.github/workflows/ci-cmake.yml +4 -4
  436. package/vendor/re2/.github/workflows/ci.yml +5 -6
  437. package/vendor/re2/.github/workflows/pages.yml +3 -3
  438. package/vendor/re2/.github/workflows/python.yml +29 -24
  439. package/vendor/re2/.github/workflows/release-bazel.yml +42 -0
  440. package/vendor/re2/.github/workflows/release.yml +15 -4
  441. package/vendor/re2/BUILD.bazel +25 -0
  442. package/vendor/re2/CMakeLists.txt +100 -85
  443. package/vendor/re2/CONTRIBUTING.md +0 -1
  444. package/vendor/re2/MODULE.bazel +10 -10
  445. package/vendor/re2/Makefile +1 -1
  446. package/vendor/re2/README.md +259 -0
  447. package/vendor/re2/python/BUILD.bazel +8 -0
  448. package/vendor/re2/python/re2.py +1 -1
  449. package/vendor/re2/python/re2_test.py +6 -0
  450. package/vendor/re2/python/setup.py +3 -3
  451. package/vendor/re2/re2/bitmap256.cc +3 -4
  452. package/vendor/re2/re2/bitstate.cc +15 -10
  453. package/vendor/re2/re2/dfa.cc +1 -2
  454. package/vendor/re2/re2/parse.cc +3 -4
  455. package/vendor/re2/re2/prog.cc +1 -2
  456. package/vendor/re2/re2/prog.h +1 -0
  457. package/vendor/re2/re2/re2.cc +5 -0
  458. package/vendor/re2/re2/re2.h +9 -9
  459. package/vendor/re2/re2/set.cc +6 -0
  460. package/vendor/re2/re2/set.h +5 -0
  461. package/vendor/re2/re2/testing/re2_arg_test.cc +3 -3
  462. package/vendor/re2/re2/testing/re2_test.cc +8 -0
  463. package/vendor/re2/re2/testing/set_test.cc +5 -0
  464. package/vendor/re2/re2/walker-inl.h +1 -1
  465. package/vendor/abseil-cpp/WORKSPACE +0 -76
  466. package/vendor/abseil-cpp/WORKSPACE.bzlmod +0 -19
  467. package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +0 -64
  468. package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  469. package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +0 -46
  470. package/vendor/abseil-cpp/absl/base/internal/invoke.h +0 -241
  471. package/vendor/abseil-cpp/absl/base/internal/nullability_impl.h +0 -69
  472. package/vendor/abseil-cpp/absl/base/invoke_test.cc +0 -331
  473. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -148
  474. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -54
  475. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  476. package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +0 -182
  477. package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +0 -173
  478. package/vendor/abseil-cpp/absl/types/any_test.cc +0 -778
  479. package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +0 -64
  480. package/vendor/abseil-cpp/absl/types/bad_any_cast.h +0 -75
  481. package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  482. package/vendor/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  483. package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  484. package/vendor/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  485. package/vendor/abseil-cpp/absl/types/internal/optional.h +0 -352
  486. package/vendor/abseil-cpp/absl/types/internal/variant.h +0 -1622
  487. package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +0 -292
  488. package/vendor/abseil-cpp/absl/types/optional_test.cc +0 -1615
  489. package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +0 -222
  490. package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +0 -532
  491. package/vendor/abseil-cpp/absl/utility/internal/if_constexpr.h +0 -70
  492. package/vendor/abseil-cpp/absl/utility/internal/if_constexpr_test.cc +0 -79
  493. package/vendor/abseil-cpp/absl/utility/utility_test.cc +0 -239
  494. package/vendor/re2/.github/workflows/pr.yml +0 -34
  495. package/vendor/re2/README +0 -47
@@ -163,11 +163,11 @@ class ABSL_ATTRIBUTE_VIEW string_view {
163
163
  public:
164
164
  using traits_type = std::char_traits<char>;
165
165
  using value_type = char;
166
- using pointer = absl::Nullable<char*>;
167
- using const_pointer = absl::Nullable<const char*>;
166
+ using pointer = char* absl_nullable;
167
+ using const_pointer = const char* absl_nullable;
168
168
  using reference = char&;
169
169
  using const_reference = const char&;
170
- using const_iterator = absl::Nullable<const char*>;
170
+ using const_iterator = const char* absl_nullable;
171
171
  using iterator = const_iterator;
172
172
  using const_reverse_iterator = std::reverse_iterator<const_iterator>;
173
173
  using reverse_iterator = const_reverse_iterator;
@@ -197,12 +197,16 @@ class ABSL_ATTRIBUTE_VIEW string_view {
197
197
  // instead (see below).
198
198
  // The length check is skipped since it is unnecessary and causes code bloat.
199
199
  constexpr string_view( // NOLINT(runtime/explicit)
200
- absl::Nonnull<const char*> str)
201
- : ptr_(str), length_(str ? StrlenInternal(str) : 0) {}
200
+ const char* absl_nonnull str)
201
+ : ptr_(str), length_(str ? StrlenInternal(str) : 0) {
202
+ assert(str != nullptr);
203
+ }
202
204
 
203
205
  // Constructor of a `string_view` from a `const char*` and length.
204
- constexpr string_view(absl::Nullable<const char*> data, size_type len)
205
- : ptr_(data), length_(CheckLengthInternal(len)) {}
206
+ constexpr string_view(const char* absl_nullable data, size_type len)
207
+ : ptr_(data), length_(CheckLengthInternal(len)) {
208
+ ABSL_ASSERT(data != nullptr || len == 0);
209
+ }
206
210
 
207
211
  constexpr string_view(const string_view&) noexcept = default;
208
212
  string_view& operator=(const string_view&) noexcept = default;
@@ -376,7 +380,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
376
380
  //
377
381
  // Copies the contents of the `string_view` at offset `pos` and length `n`
378
382
  // into `buf`.
379
- size_type copy(char* buf, size_type n, size_type pos = 0) const {
383
+ size_type copy(char* absl_nonnull buf, size_type n, size_type pos = 0) const {
380
384
  if (ABSL_PREDICT_FALSE(pos > length_)) {
381
385
  base_internal::ThrowStdOutOfRange("absl::string_view::copy");
382
386
  }
@@ -398,7 +402,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
398
402
  if (ABSL_PREDICT_FALSE(pos > length_)) {
399
403
  base_internal::ThrowStdOutOfRange("absl::string_view::substr");
400
404
  }
401
- return string_view(ptr_ + pos, Min(n, length_ - pos));
405
+ return string_view(ptr_ + pos, (std::min)(n, length_ - pos));
402
406
  }
403
407
 
404
408
  // string_view::compare()
@@ -409,10 +413,10 @@ class ABSL_ATTRIBUTE_VIEW string_view {
409
413
  // is greater than `x`.
410
414
  constexpr int compare(string_view x) const noexcept {
411
415
  return CompareImpl(length_, x.length_,
412
- Min(length_, x.length_) == 0
416
+ (std::min)(length_, x.length_) == 0
413
417
  ? 0
414
418
  : ABSL_INTERNAL_STRING_VIEW_MEMCMP(
415
- ptr_, x.ptr_, Min(length_, x.length_)));
419
+ ptr_, x.ptr_, (std::min)(length_, x.length_)));
416
420
  }
417
421
 
418
422
  // Overload of `string_view::compare()` for comparing a substring of the
@@ -430,21 +434,21 @@ class ABSL_ATTRIBUTE_VIEW string_view {
430
434
 
431
435
  // Overload of `string_view::compare()` for comparing a `string_view` and a
432
436
  // a different C-style string `s`.
433
- constexpr int compare(absl::Nonnull<const char*> s) const {
437
+ constexpr int compare(const char* absl_nonnull s) const {
434
438
  return compare(string_view(s));
435
439
  }
436
440
 
437
441
  // Overload of `string_view::compare()` for comparing a substring of the
438
442
  // `string_view` and a different string C-style string `s`.
439
443
  constexpr int compare(size_type pos1, size_type count1,
440
- absl::Nonnull<const char*> s) const {
444
+ const char* absl_nonnull s) const {
441
445
  return substr(pos1, count1).compare(string_view(s));
442
446
  }
443
447
 
444
448
  // Overload of `string_view::compare()` for comparing a substring of the
445
449
  // `string_view` and a substring of a different C-style string `s`.
446
450
  constexpr int compare(size_type pos1, size_type count1,
447
- absl::Nonnull<const char*> s, size_type count2) const {
451
+ const char* absl_nonnull s, size_type count2) const {
448
452
  return substr(pos1, count1).compare(string_view(s, count2));
449
453
  }
450
454
 
@@ -463,14 +467,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
463
467
 
464
468
  // Overload of `string_view::find()` for finding a substring of a different
465
469
  // C-style string `s` within the `string_view`.
466
- size_type find(absl::Nonnull<const char*> s, size_type pos,
470
+ size_type find(const char* absl_nonnull s, size_type pos,
467
471
  size_type count) const {
468
472
  return find(string_view(s, count), pos);
469
473
  }
470
474
 
471
475
  // Overload of `string_view::find()` for finding a different C-style string
472
476
  // `s` within the `string_view`.
473
- size_type find(absl::Nonnull<const char *> s, size_type pos = 0) const {
477
+ size_type find(const char* absl_nonnull s, size_type pos = 0) const {
474
478
  return find(string_view(s), pos);
475
479
  }
476
480
 
@@ -487,14 +491,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
487
491
 
488
492
  // Overload of `string_view::rfind()` for finding a substring of a different
489
493
  // C-style string `s` within the `string_view`.
490
- size_type rfind(absl::Nonnull<const char*> s, size_type pos,
494
+ size_type rfind(const char* absl_nonnull s, size_type pos,
491
495
  size_type count) const {
492
496
  return rfind(string_view(s, count), pos);
493
497
  }
494
498
 
495
499
  // Overload of `string_view::rfind()` for finding a different C-style string
496
500
  // `s` within the `string_view`.
497
- size_type rfind(absl::Nonnull<const char*> s, size_type pos = npos) const {
501
+ size_type rfind(const char* absl_nonnull s, size_type pos = npos) const {
498
502
  return rfind(string_view(s), pos);
499
503
  }
500
504
 
@@ -513,15 +517,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
513
517
 
514
518
  // Overload of `string_view::find_first_of()` for finding a substring of a
515
519
  // different C-style string `s` within the `string_view`.
516
- size_type find_first_of(absl::Nonnull<const char*> s, size_type pos,
520
+ size_type find_first_of(const char* absl_nonnull s, size_type pos,
517
521
  size_type count) const {
518
522
  return find_first_of(string_view(s, count), pos);
519
523
  }
520
524
 
521
525
  // Overload of `string_view::find_first_of()` for finding a different C-style
522
526
  // string `s` within the `string_view`.
523
- size_type find_first_of(absl::Nonnull<const char*> s,
524
- size_type pos = 0) const {
527
+ size_type find_first_of(const char* absl_nonnull s, size_type pos = 0) const {
525
528
  return find_first_of(string_view(s), pos);
526
529
  }
527
530
 
@@ -540,14 +543,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
540
543
 
541
544
  // Overload of `string_view::find_last_of()` for finding a substring of a
542
545
  // different C-style string `s` within the `string_view`.
543
- size_type find_last_of(absl::Nonnull<const char*> s, size_type pos,
546
+ size_type find_last_of(const char* absl_nonnull s, size_type pos,
544
547
  size_type count) const {
545
548
  return find_last_of(string_view(s, count), pos);
546
549
  }
547
550
 
548
551
  // Overload of `string_view::find_last_of()` for finding a different C-style
549
552
  // string `s` within the `string_view`.
550
- size_type find_last_of(absl::Nonnull<const char*> s,
553
+ size_type find_last_of(const char* absl_nonnull s,
551
554
  size_type pos = npos) const {
552
555
  return find_last_of(string_view(s), pos);
553
556
  }
@@ -565,14 +568,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
565
568
 
566
569
  // Overload of `string_view::find_first_not_of()` for finding a substring of a
567
570
  // different C-style string `s` within the `string_view`.
568
- size_type find_first_not_of(absl::Nonnull<const char*> s, size_type pos,
571
+ size_type find_first_not_of(const char* absl_nonnull s, size_type pos,
569
572
  size_type count) const {
570
573
  return find_first_not_of(string_view(s, count), pos);
571
574
  }
572
575
 
573
576
  // Overload of `string_view::find_first_not_of()` for finding a different
574
577
  // C-style string `s` within the `string_view`.
575
- size_type find_first_not_of(absl::Nonnull<const char*> s,
578
+ size_type find_first_not_of(const char* absl_nonnull s,
576
579
  size_type pos = 0) const {
577
580
  return find_first_not_of(string_view(s), pos);
578
581
  }
@@ -591,14 +594,14 @@ class ABSL_ATTRIBUTE_VIEW string_view {
591
594
 
592
595
  // Overload of `string_view::find_last_not_of()` for finding a substring of a
593
596
  // different C-style string `s` within the `string_view`.
594
- size_type find_last_not_of(absl::Nonnull<const char*> s, size_type pos,
597
+ size_type find_last_not_of(const char* absl_nonnull s, size_type pos,
595
598
  size_type count) const {
596
599
  return find_last_not_of(string_view(s, count), pos);
597
600
  }
598
601
 
599
602
  // Overload of `string_view::find_last_not_of()` for finding a different
600
603
  // C-style string `s` within the `string_view`.
601
- size_type find_last_not_of(absl::Nonnull<const char*> s,
604
+ size_type find_last_not_of(const char* absl_nonnull s,
602
605
  size_type pos = npos) const {
603
606
  return find_last_not_of(string_view(s), pos);
604
607
  }
@@ -625,7 +628,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
625
628
 
626
629
  // Overload of `string_view::starts_with()` that returns true if the
627
630
  // `string_view` starts with the C-style prefix `s`.
628
- constexpr bool starts_with(const char* s) const {
631
+ constexpr bool starts_with(const char* absl_nonnull s) const {
629
632
  return starts_with(string_view(s));
630
633
  }
631
634
 
@@ -650,7 +653,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
650
653
 
651
654
  // Overload of `string_view::ends_with()` that returns true if the
652
655
  // `string_view` ends with the C-style suffix `s`.
653
- constexpr bool ends_with(const char* s) const {
656
+ constexpr bool ends_with(const char* absl_nonnull s) const {
654
657
  return ends_with(string_view(s));
655
658
  }
656
659
  #endif // ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
@@ -659,7 +662,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
659
662
  // The constructor from std::string delegates to this constructor.
660
663
  // See the comment on that constructor for the rationale.
661
664
  struct SkipCheckLengthTag {};
662
- string_view(absl::Nullable<const char*> data, size_type len,
665
+ string_view(const char* absl_nullable data, size_type len,
663
666
  SkipCheckLengthTag) noexcept
664
667
  : ptr_(data), length_(len) {}
665
668
 
@@ -671,7 +674,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
671
674
  return len;
672
675
  }
673
676
 
674
- static constexpr size_type StrlenInternal(absl::Nonnull<const char*> str) {
677
+ static constexpr size_type StrlenInternal(const char* absl_nonnull str) {
675
678
  #if defined(_MSC_VER) && !defined(__clang__)
676
679
  // MSVC 2017+ can evaluate this at compile-time.
677
680
  const char* begin = str;
@@ -689,10 +692,6 @@ class ABSL_ATTRIBUTE_VIEW string_view {
689
692
  #endif
690
693
  }
691
694
 
692
- static constexpr size_t Min(size_type length_a, size_type length_b) {
693
- return length_a < length_b ? length_a : length_b;
694
- }
695
-
696
695
  static constexpr int CompareImpl(size_type length_a, size_type length_b,
697
696
  int compare_result) {
698
697
  return compare_result == 0 ? static_cast<int>(length_a > length_b) -
@@ -700,7 +699,7 @@ class ABSL_ATTRIBUTE_VIEW string_view {
700
699
  : (compare_result < 0 ? -1 : 1);
701
700
  }
702
701
 
703
- absl::Nullable<const char*> ptr_;
702
+ const char* absl_nullable ptr_;
704
703
  size_type length_;
705
704
  };
706
705
 
@@ -750,8 +749,8 @@ ABSL_NAMESPACE_BEGIN
750
749
  //
751
750
  // Like `s.substr(pos, n)`, but clips `pos` to an upper bound of `s.size()`.
752
751
  // Provided because std::string_view::substr throws if `pos > size()`
753
- inline string_view ClippedSubstr(string_view s, size_t pos,
754
- size_t n = string_view::npos) {
752
+ inline string_view ClippedSubstr(string_view s ABSL_ATTRIBUTE_LIFETIME_BOUND,
753
+ size_t pos, size_t n = string_view::npos) {
755
754
  pos = (std::min)(pos, static_cast<size_t>(s.size()));
756
755
  return s.substr(pos, n);
757
756
  }
@@ -761,7 +760,7 @@ inline string_view ClippedSubstr(string_view s, size_t pos,
761
760
  // Creates an `absl::string_view` from a pointer `p` even if it's null-valued.
762
761
  // This function should be used where an `absl::string_view` can be created from
763
762
  // a possibly-null pointer.
764
- constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
763
+ constexpr string_view NullSafeStringView(const char* absl_nullable p) {
765
764
  return p ? string_view(p) : string_view();
766
765
  }
767
766
 
@@ -12,8 +12,6 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "absl/strings/string_view.h"
16
-
17
15
  #include <algorithm>
18
16
  #include <cstddef>
19
17
  #include <cstdint>
@@ -23,11 +21,13 @@
23
21
  #include <unordered_set>
24
22
  #include <vector>
25
23
 
26
- #include "benchmark/benchmark.h"
27
24
  #include "absl/base/attributes.h"
28
25
  #include "absl/base/internal/raw_logging.h"
29
26
  #include "absl/base/macros.h"
27
+ #include "absl/random/random.h"
30
28
  #include "absl/strings/str_cat.h"
29
+ #include "absl/strings/string_view.h"
30
+ #include "benchmark/benchmark.h"
31
31
 
32
32
  namespace {
33
33
 
@@ -287,9 +287,7 @@ void StringViewMapBenchmark(benchmark::State& state) {
287
287
  "found", "a", "large", "mushroom", "and",
288
288
  "a", "couple", "crickets", "eating", "pie"};
289
289
  // Create some keys that consist of words in random order.
290
- std::random_device r;
291
- std::seed_seq seed({r(), r(), r(), r(), r(), r(), r(), r()});
292
- std::mt19937 rng(seed);
290
+ absl::InsecureBitGen rng;
293
291
  std::vector<std::string> keys(table_size);
294
292
  std::vector<int> all_indices;
295
293
  const int kBlockSize = 1 << 12;
@@ -34,7 +34,7 @@
34
34
  #include "absl/base/config.h"
35
35
  #include "absl/meta/type_traits.h"
36
36
 
37
- #if defined(ABSL_HAVE_STD_STRING_VIEW) || defined(__ANDROID__)
37
+ #if defined(ABSL_USES_STD_STRING_VIEW) || defined(__ANDROID__)
38
38
  // We don't control the death messaging when using std::string_view.
39
39
  // Android assert messages only go to system log, so death tests cannot inspect
40
40
  // the message for matching.
@@ -870,42 +870,10 @@ TEST(StringViewTest, FrontBackEmpty) {
870
870
  #endif
871
871
  }
872
872
 
873
- // `std::string_view::string_view(const char*)` calls
874
- // `std::char_traits<char>::length(const char*)` to get the string length. In
875
- // libc++, it doesn't allow `nullptr` in the constexpr context, with the error
876
- // "read of dereferenced null pointer is not allowed in a constant expression".
877
- // At run time, the behavior of `std::char_traits::length()` on `nullptr` is
878
- // undefined by the standard and usually results in crash with libc++.
879
- // GCC also started rejected this in libstdc++ starting in GCC9.
880
- // In MSVC, creating a constexpr string_view from nullptr also triggers an
881
- // "unevaluable pointer value" error. This compiler implementation conforms
882
- // to the standard, but `absl::string_view` implements a different
883
- // behavior for historical reasons. We work around tests that construct
884
- // `string_view` from `nullptr` when using libc++.
885
- #if !defined(ABSL_USES_STD_STRING_VIEW) || \
886
- (!(defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 9) && \
887
- !defined(_LIBCPP_VERSION) && !defined(_MSC_VER))
888
- #define ABSL_HAVE_STRING_VIEW_FROM_NULLPTR 1
889
- #endif
890
-
891
- TEST(StringViewTest, NULLInput) {
873
+ TEST(StringViewTest, DefaultConstructor) {
892
874
  absl::string_view s;
893
875
  EXPECT_EQ(s.data(), nullptr);
894
876
  EXPECT_EQ(s.size(), 0u);
895
-
896
- #ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
897
- // The `str` parameter is annotated nonnull, but we want to test the defensive
898
- // null check. Use a variable instead of passing nullptr directly to avoid a
899
- // `-Wnonnull` warning.
900
- char* null_str = nullptr;
901
- s = absl::string_view(null_str);
902
- EXPECT_EQ(s.data(), nullptr);
903
- EXPECT_EQ(s.size(), 0u);
904
-
905
- // .ToString() on a absl::string_view with nullptr should produce the empty
906
- // string.
907
- EXPECT_EQ("", std::string(s));
908
- #endif // ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
909
877
  }
910
878
 
911
879
  TEST(StringViewTest, Comparisons2) {
@@ -1086,16 +1054,6 @@ TEST(StringViewTest, ConstexprCompiles) {
1086
1054
  // know at compile time that the argument is nullptr and complain because the
1087
1055
  // parameter is annotated nonnull. We hence turn the warning off for this
1088
1056
  // test.
1089
- #if defined(__clang__)
1090
- #pragma clang diagnostic push
1091
- #pragma clang diagnostic ignored "-Wnonnull"
1092
- #endif
1093
- #ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
1094
- constexpr absl::string_view cstr(nullptr);
1095
- #endif
1096
- #if defined(__clang__)
1097
- #pragma clang diagnostic pop
1098
- #endif
1099
1057
  constexpr absl::string_view cstr_len("cstr", 4);
1100
1058
 
1101
1059
  #if defined(ABSL_USES_STD_STRING_VIEW)
@@ -1163,12 +1121,6 @@ TEST(StringViewTest, ConstexprCompiles) {
1163
1121
  constexpr absl::string_view::iterator const_end_empty = sp.end();
1164
1122
  EXPECT_EQ(const_begin_empty, const_end_empty);
1165
1123
 
1166
- #ifdef ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
1167
- constexpr absl::string_view::iterator const_begin_nullptr = cstr.begin();
1168
- constexpr absl::string_view::iterator const_end_nullptr = cstr.end();
1169
- EXPECT_EQ(const_begin_nullptr, const_end_nullptr);
1170
- #endif // ABSL_HAVE_STRING_VIEW_FROM_NULLPTR
1171
-
1172
1124
  constexpr absl::string_view::iterator const_begin = cstr_len.begin();
1173
1125
  constexpr absl::string_view::iterator const_end = cstr_len.end();
1174
1126
  constexpr absl::string_view::size_type const_size = cstr_len.size();
@@ -45,7 +45,7 @@ ABSL_NAMESPACE_BEGIN
45
45
  // absl::string_view input("abc");
46
46
  // EXPECT_TRUE(absl::ConsumePrefix(&input, "a"));
47
47
  // EXPECT_EQ(input, "bc");
48
- inline constexpr bool ConsumePrefix(absl::Nonnull<absl::string_view*> str,
48
+ inline constexpr bool ConsumePrefix(absl::string_view* absl_nonnull str,
49
49
  absl::string_view expected) {
50
50
  if (!absl::StartsWith(*str, expected)) return false;
51
51
  str->remove_prefix(expected.size());
@@ -62,7 +62,7 @@ inline constexpr bool ConsumePrefix(absl::Nonnull<absl::string_view*> str,
62
62
  // absl::string_view input("abcdef");
63
63
  // EXPECT_TRUE(absl::ConsumeSuffix(&input, "def"));
64
64
  // EXPECT_EQ(input, "abc");
65
- inline constexpr bool ConsumeSuffix(absl::Nonnull<absl::string_view*> str,
65
+ inline constexpr bool ConsumeSuffix(absl::string_view* absl_nonnull str,
66
66
  absl::string_view expected) {
67
67
  if (!absl::EndsWith(*str, expected)) return false;
68
68
  str->remove_suffix(expected.size());
@@ -74,7 +74,7 @@ inline constexpr bool ConsumeSuffix(absl::Nonnull<absl::string_view*> str,
74
74
  // Returns a view into the input string `str` with the given `prefix` removed,
75
75
  // but leaving the original string intact. If the prefix does not match at the
76
76
  // start of the string, returns the original string instead.
77
- ABSL_MUST_USE_RESULT inline constexpr absl::string_view StripPrefix(
77
+ [[nodiscard]] inline constexpr absl::string_view StripPrefix(
78
78
  absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
79
79
  absl::string_view prefix) {
80
80
  if (absl::StartsWith(str, prefix)) str.remove_prefix(prefix.size());
@@ -86,7 +86,7 @@ ABSL_MUST_USE_RESULT inline constexpr absl::string_view StripPrefix(
86
86
  // Returns a view into the input string `str` with the given `suffix` removed,
87
87
  // but leaving the original string intact. If the suffix does not match at the
88
88
  // end of the string, returns the original string instead.
89
- ABSL_MUST_USE_RESULT inline constexpr absl::string_view StripSuffix(
89
+ [[nodiscard]] inline constexpr absl::string_view StripSuffix(
90
90
  absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
91
91
  absl::string_view suffix) {
92
92
  if (absl::EndsWith(str, suffix)) str.remove_suffix(suffix.size());
@@ -35,9 +35,10 @@ namespace absl {
35
35
  ABSL_NAMESPACE_BEGIN
36
36
  namespace substitute_internal {
37
37
 
38
- void SubstituteAndAppendArray(
39
- absl::Nonnull<std::string*> output, absl::string_view format,
40
- absl::Nullable<const absl::string_view*> args_array, size_t num_args) {
38
+ void SubstituteAndAppendArray(std::string* absl_nonnull output,
39
+ absl::string_view format,
40
+ const absl::string_view* absl_nullable args_array,
41
+ size_t num_args) {
41
42
  // Determine total size needed.
42
43
  size_t size = 0;
43
44
  for (size_t i = 0; i < format.size(); i++) {
@@ -109,7 +110,7 @@ void SubstituteAndAppendArray(
109
110
  assert(target == output->data() + output->size());
110
111
  }
111
112
 
112
- Arg::Arg(absl::Nullable<const void*> value) {
113
+ Arg::Arg(const void* absl_nullable value) {
113
114
  static_assert(sizeof(scratch_) >= sizeof(value) * 2 + 2,
114
115
  "fix sizeof(scratch_)");
115
116
  if (value == nullptr) {