Upgrade regex-syntax to 0.6.29 am: 713de16f11 am: d9f74f32a9 am: 3c4584e4f1 am: 22a53f8bb2

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/regex-syntax/+/2519958

Change-Id: If34761826c018678c44daefb81aa1c2104d8f37f
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 50bfde1..734f7be 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
 {
   "git": {
-    "sha1": "ea3b1320807741aae8b5db926f6b54b99e65bce6"
+    "sha1": "72d482f911c4057f9a31f7f434dfe27c929a8913"
   },
   "path_in_vcs": "regex-syntax"
 }
\ No newline at end of file
diff --git a/Android.bp b/Android.bp
index 6e0b413..d04c7c4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -43,7 +43,7 @@
     host_supported: true,
     crate_name: "regex_syntax",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.6.28",
+    cargo_pkg_version: "0.6.29",
     srcs: ["src/lib.rs"],
     edition: "2018",
     features: [
@@ -71,7 +71,7 @@
     host_supported: true,
     crate_name: "regex_syntax",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.6.28",
+    cargo_pkg_version: "0.6.29",
     srcs: ["src/lib.rs"],
     test_suites: ["general-tests"],
     auto_gen_config: true,
diff --git a/Cargo.toml b/Cargo.toml
index 8d87f7a..72e9856 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
 [package]
 edition = "2018"
 name = "regex-syntax"
-version = "0.6.28"
+version = "0.6.29"
 authors = ["The Rust Project Developers"]
 description = "A regular expression parser."
 homepage = "https://github.com/rust-lang/regex"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index e491bf1..be9aeb5 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "regex-syntax"
-version = "0.6.28"  #:version
+version = "0.6.29"  #:version
 authors = ["The Rust Project Developers"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang/regex"
diff --git a/METADATA b/METADATA
index 8381fc4..5af87a5 100644
--- a/METADATA
+++ b/METADATA
@@ -11,13 +11,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/regex-syntax/regex-syntax-0.6.28.crate"
+    value: "https://static.crates.io/crates/regex-syntax/regex-syntax-0.6.29.crate"
   }
-  version: "0.6.28"
+  version: "0.6.29"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2022
-    month: 12
-    day: 13
+    year: 2023
+    month: 4
+    day: 3
   }
 }
diff --git a/src/ast/mod.rs b/src/ast/mod.rs
index 387ea3a..9db9afa 100644
--- a/src/ast/mod.rs
+++ b/src/ast/mod.rs
@@ -1492,8 +1492,19 @@
 
         // We run our test on a thread with a small stack size so we can
         // force the issue more easily.
+        //
+        // NOTE(2023-03-21): It turns out that some platforms (like FreeBSD)
+        // will just barf with very small stack sizes. So we bump this up a bit
+        // to give more room to breath. When I did this, I confirmed that if
+        // I remove the custom `Drop` impl for `Ast`, then this test does
+        // indeed still fail with a stack overflow. (At the time of writing, I
+        // had to bump it all the way up to 32K before the test would pass even
+        // without the custom `Drop` impl. So 16K seems like a safe number
+        // here.)
+        //
+        // See: https://github.com/rust-lang/regex/issues/967
         thread::Builder::new()
-            .stack_size(1 << 10)
+            .stack_size(16 << 10)
             .spawn(run)
             .unwrap()
             .join()
diff --git a/src/hir/mod.rs b/src/hir/mod.rs
index 1096e9f..156bcc2 100644
--- a/src/hir/mod.rs
+++ b/src/hir/mod.rs
@@ -2286,8 +2286,11 @@
 
         // We run our test on a thread with a small stack size so we can
         // force the issue more easily.
+        //
+        // NOTE(2023-03-21): See the corresponding test in 'crate::ast::tests'
+        // for context on the specific stack size chosen here.
         thread::Builder::new()
-            .stack_size(1 << 10)
+            .stack_size(16 << 10)
             .spawn(run)
             .unwrap()
             .join()