Upgrade rust/crates/regex to 1.3.7

Test: None
Change-Id: I26e69e1c8997da756f5da7bbd70727375ccf1d5d
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index b1cc1b9..02890e7 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
 {
   "git": {
-    "sha1": "3221cdb1e33064ed6648d0a5559711cea9c18067"
+    "sha1": "adb4aa3ce437ba1978af540071f85e302cced3ec"
   }
 }
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 365b26f..2db8688 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+1.3.7 (2020-04-17)
+==================
+This release contains a small bug fix that fixes how `regex` forwards crate
+features to `regex-syntax`. In particular, this will reduce recompilations in
+some cases.
+
+Bug fixes:
+
+* [BUG #665](https://github.com/rust-lang/regex/pull/665):
+  Fix feature forwarding to `regex-syntax`.
+
+
 1.3.6 (2020-03-24)
 ==================
 This release contains a sizable (~30%) performance improvement when compiling
diff --git a/Cargo.toml b/Cargo.toml
index b5d3725..0b2f0b9 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
 
 [package]
 name = "regex"
-version = "1.3.6"
+version = "1.3.7"
 authors = ["The Rust Project Developers"]
 exclude = ["/scripts/*", "/.github/*"]
 autotests = false
@@ -100,7 +100,7 @@
 version = "0.6.5"
 
 [features]
-default = ["std", "perf", "unicode"]
+default = ["std", "perf", "unicode", "regex-syntax/default"]
 pattern = []
 perf = ["perf-cache", "perf-dfa", "perf-inline", "perf-literal"]
 perf-cache = ["thread_local"]
@@ -108,7 +108,7 @@
 perf-inline = []
 perf-literal = ["aho-corasick", "memchr"]
 std = []
-unicode = ["unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"]
+unicode = ["unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "regex-syntax/unicode"]
 unicode-age = ["regex-syntax/unicode-age"]
 unicode-bool = ["regex-syntax/unicode-bool"]
 unicode-case = ["regex-syntax/unicode-case"]
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index bebc009..1f7863f 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "regex"
-version = "1.3.6"  #:version
+version = "1.3.7"  #:version
 authors = ["The Rust Project Developers"]
 license = "MIT OR Apache-2.0"
 readme = "README.md"
@@ -31,7 +31,7 @@
 # Features are documented in the "Crate features" section of the crate docs:
 # https://docs.rs/regex/*/#crate-features
 [features]
-default = ["std", "perf", "unicode"]
+default = ["std", "perf", "unicode", "regex-syntax/default"]
 
 # ECOSYSTEM FEATURES
 
@@ -71,6 +71,7 @@
   "unicode-perl",
   "unicode-script",
   "unicode-segment",
+  "regex-syntax/unicode",
 ]
 # Enables use of the `Age` property, e.g., `\p{Age:3.0}`.
 unicode-age = ["regex-syntax/unicode-age"]
diff --git a/METADATA b/METADATA
index 26317f2..53b95fe 100644
--- a/METADATA
+++ b/METADATA
@@ -9,11 +9,11 @@
     type: GIT
     value: "https://github.com/rust-lang/regex"
   }
-  version: "1.3.6"
+  version: "1.3.7"
   license_type: NOTICE
   last_upgrade_date {
     year: 2020
-    month: 3
-    day: 31
+    month: 4
+    day: 17
   }
 }
diff --git a/src/sparse.rs b/src/sparse.rs
index 9d48eee..bc1b2b5 100644
--- a/src/sparse.rs
+++ b/src/sparse.rs
@@ -1,3 +1,4 @@
+use std::fmt;
 use std::ops::Deref;
 use std::slice;
 
@@ -11,7 +12,7 @@
 /// Note though that we don't actually use uninitialized memory. We generally
 /// reuse allocations, so the initial allocation cost is bareable. However,
 /// its other properties listed above are extremely useful.
-#[derive(Clone, Debug)]
+#[derive(Clone)]
 pub struct SparseSet {
     /// Dense contains the instruction pointers in the order in which they
     /// were inserted.
@@ -60,6 +61,12 @@
     }
 }
 
+impl fmt::Debug for SparseSet {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        write!(f, "SparseSet({:?})", self.dense)
+    }
+}
+
 impl Deref for SparseSet {
     type Target = [usize];