Update futures-preview

Change-Id: I14425622880ea20364fb3b91846283dc13dd3f6c
diff --git a/rustc_deps/Cargo.lock b/rustc_deps/Cargo.lock
index 00afff5..09e6c70 100644
--- a/rustc_deps/Cargo.lock
+++ b/rustc_deps/Cargo.lock
@@ -390,7 +390,7 @@
  "encode_unicode 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "font-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
  "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -440,15 +440,15 @@
 
 [[package]]
 name = "futures-channel-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "futures-core-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -456,12 +456,12 @@
 
 [[package]]
 name = "futures-executor-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "futures-channel-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-util-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-channel-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-util-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "pin-utils 0.1.0-alpha.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -469,46 +469,46 @@
 
 [[package]]
 name = "futures-io-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "futures-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "futures-channel-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-executor-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-io-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-sink-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-util-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-channel-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-executor-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-io-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-sink-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-util-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "futures-sink-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-channel-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-channel-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "futures-util-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-channel-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-io-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures-sink-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-channel-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-io-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures-sink-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "pin-utils 0.1.0-alpha.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -1528,13 +1528,13 @@
 "checksum filetime 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "714653f3e34871534de23771ac7b26e999651a0a228f47beb324dfdf1dd4b10f"
 "checksum flate2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9fac2277e84e5e858483756647a9d0aa8d9a2b7cba517fd84325a0aaa69a0909"
 "checksum font-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33939d997b0ef798cc92c9cc49a535c9b085273e121cc8e8281561be1fd76cd2"
-"checksum futures-channel-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8db0eeea3f7573487198f97035dc00069e222f04d18cb00bd4e9f9243f74774c"
-"checksum futures-core-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "32362ee9b8db9c27f35cde87ffb9ce7d01acdd2e8e28ca4dbd866c1fd804edb9"
-"checksum futures-executor-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "579ef5beb2409a8fdd38fe5e34ba7249a78f07235a4d7a59f7f73ed75e38bf39"
-"checksum futures-io-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "74a54753ae33974f6b8475235a735082bcbbd1b418dc1d03f0f2e1de1c53b901"
-"checksum futures-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "838945f6ad3aa437efca7a33dc08fd966ff5edd8eebfde08ccbdef0fa1996235"
-"checksum futures-sink-preview 0.3.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "97d762ff5f860693e8ed52acb56305593b453ea9df66fb2b3c1184f2f6ada0fd"
-"checksum futures-util-preview 0.3.0-alpha.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc918a659b54ecaed8eca3e38fe0216ed2584e5eddfc7a21df8944d6749f397"
+"checksum futures-channel-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8b1569d10a46364ba450edfbd7c9349997fbe01591074d22a33cd1a096fcf33a"
+"checksum futures-core-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33768a7a895bd14e3c24518454f233666387070acd0e8e671bd1c08f89abaf73"
+"checksum futures-executor-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94ddf580beef58db28c6f39461f9880c0b040342c3fbee10d920092d68953b1a"
+"checksum futures-io-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "772f2d8a4109b2d57347ed8bbb5a0535896ed190a6004af23cca86db8be1311d"
+"checksum futures-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "38810750d882eaa4be290c295c70230e1e724ae6c594261721fb51073cbbb6d8"
+"checksum futures-sink-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5188c94f2a7ab70f6b51fad1de15cf1375acd9cc7ee5c9f2207a3860ea39e41c"
+"checksum futures-util-preview 0.3.0-alpha.3 (registry+https://github.com/rust-lang/crates.io-index)" = "993195be08509499edcbf5be4bb94569f47fb9f4c336142dbf76362c2b4efd21"
 "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb"
 "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
 "checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05"
diff --git a/rustc_deps/Cargo.toml b/rustc_deps/Cargo.toml
index 70aa2fe..e313421 100644
--- a/rustc_deps/Cargo.toml
+++ b/rustc_deps/Cargo.toml
@@ -21,7 +21,7 @@
 encode_unicode = "0.1.3"
 failure = "0.1.1"
 font-rs = "0.1.3"
-futures-preview = "=0.3.0-alpha.2.1"
+futures-preview = "=0.3.0-alpha.3"
 getopts = "0.2"
 hex = "0.3.2"
 itertools = "0.7"
diff --git a/rustc_deps/vendor/either/.cargo-checksum.json b/rustc_deps/vendor/either/.cargo-checksum.json
index ec8372d..3d902c5 100644
--- a/rustc_deps/vendor/either/.cargo-checksum.json
+++ b/rustc_deps/vendor/either/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".travis.yml":"cb7544c8f5d89b0c57e4d0e53b0676bae662c21a4ee24226ab5a81a4ac8934ce","Cargo.toml":"a4328fa9d5ecf861ff70b57c4e77c444e1ed5b9c1a696132e4e0733058569749","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545","README-crates.io.md":"b775991a01ab4a0a8de6169f597775319d9ce8178f5c74ccdc634f13a286b20c","README.rst":"f8a01f3853a0ed5c4fdece028cc4822dd32999272f80cc7406de233aa5701f75","src/lib.rs":"9cfcc2230e824dd96d7102bd1f767ca1308ba908b18bf9419ef4c46001546953"},"package":"3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0"}
\ No newline at end of file
+{"files":{".travis.yml":"cb7544c8f5d89b0c57e4d0e53b0676bae662c21a4ee24226ab5a81a4ac8934ce","Cargo.lock":"b3c76c4a473ca7450b5bec0ba80c6e694abbbbe8abaad3fd766b8fd145d004f0","Cargo.toml":"a4328fa9d5ecf861ff70b57c4e77c444e1ed5b9c1a696132e4e0733058569749","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545","README-crates.io.md":"b775991a01ab4a0a8de6169f597775319d9ce8178f5c74ccdc634f13a286b20c","README.rst":"f8a01f3853a0ed5c4fdece028cc4822dd32999272f80cc7406de233aa5701f75","src/lib.rs":"9cfcc2230e824dd96d7102bd1f767ca1308ba908b18bf9419ef4c46001546953"},"package":"3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/either/Cargo.lock b/rustc_deps/vendor/either/Cargo.lock
new file mode 100644
index 0000000..c9313df
--- /dev/null
+++ b/rustc_deps/vendor/either/Cargo.lock
@@ -0,0 +1,63 @@
+[[package]]
+name = "either"
+version = "1.5.0"
+dependencies = [
+ "serde 1.0.74 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "quote"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.74"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "serde_derive 1.0.74 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.74"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "syn"
+version = "0.14.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "unicode-xid"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[metadata]
+"checksum proc-macro2 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "ee5697238f0d893c7f0ecc59c0999f18d2af85e424de441178bcacc9f9e6cf67"
+"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5"
+"checksum serde 1.0.74 (registry+https://github.com/rust-lang/crates.io-index)" = "f218becd0d51dd24297ef804cb9b2de179dcdc2a3ddf8a73b04b4d595d9e6338"
+"checksum serde_derive 1.0.74 (registry+https://github.com/rust-lang/crates.io-index)" = "47e3375b02728fa6f8c53cb8c1ad3dea7689e12793b6af399ad1e0e202f91c18"
+"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
diff --git a/rustc_deps/vendor/futures-channel-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-channel-preview/.cargo-checksum.json
index 89fbfd4..e2bf276 100644
--- a/rustc_deps/vendor/futures-channel-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-channel-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"5b289e87672d4f974bc7608b880b89e6cae266206993ba46ea8a472d0a45a67f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/sync_mpsc.rs":"e62e1bb4dba19f497343bc466bf080cbdbec1fb57c2e8008bf6185ae835f5652","src/lib.rs":"a825105483bf2db8f0ea94018e9716cf62ec444cbaa9a6be8f897d152762e518","src/lock.rs":"069d717759d9353274005630e182f080e94ba8b9e52ba94ec9a8b6e884a832d4","src/mpsc/mod.rs":"b91f747356c18e4b079e3a1c9bcfa82ff297e30e90987d7f64a3062621021699","src/mpsc/queue.rs":"ab8fa445ceb023c9ca984a5527c52ab3de7656bce1c64cd4d1c7e31ec1f25ee7","src/oneshot.rs":"eedbb35c8f921775646cca2388e609d3fe5fa18491c81f2b3f0153342a0f6d5a","tests/channel.rs":"c1d6605e9ca0a261facbd641f3e782fda64e4ba0000902e75ac06921658f2868","tests/mpsc-close.rs":"a4a519e1e14f6d76762b63eced4735bd6e612a69d76f80b8cab810bae6454dd8","tests/mpsc.rs":"57da59d644b25ad38f5f07005809ead04ac89a5bc6c558e3bde9b892954881b4","tests/oneshot.rs":"3a6e33cee05c989bb4058f6d1bdf10233f1d99028235bc1d99ecd26e8ebef8df"},"package":"8db0eeea3f7573487198f97035dc00069e222f04d18cb00bd4e9f9243f74774c"}
\ No newline at end of file
+{"files":{"Cargo.toml":"f6d322cb3a17782433fda18242b2a50afeaa20013ac787d2c454cf3861fdcdc7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/sync_mpsc.rs":"9f8820e25249a6f590fdfe4226e48c0b3c1f4fe058d343971fb773e30c249168","src/lib.rs":"e1b8de41bd621b53fab854776d5d091ff8ae7176031a662761f39920aa438619","src/lock.rs":"069d717759d9353274005630e182f080e94ba8b9e52ba94ec9a8b6e884a832d4","src/mpsc/mod.rs":"b91f747356c18e4b079e3a1c9bcfa82ff297e30e90987d7f64a3062621021699","src/mpsc/queue.rs":"ab8fa445ceb023c9ca984a5527c52ab3de7656bce1c64cd4d1c7e31ec1f25ee7","src/oneshot.rs":"fb385c7e6542fcced1da0900b50d0a9621c4471a6649b539ce4bce83798d5086","tests/channel.rs":"254ceeb8ad9cb6c5936a5e75c6214bd6bc55e4c9ddeee1e0e3ee5ac89452b459","tests/mpsc-close.rs":"b41315392df9e6fe48ab4c2bf0e36a3b32b09e4c8c4d3bac2c22f79fa7f24b1c","tests/mpsc.rs":"c5cbf612c94f35ec5ed1ff8d0db29ee759d882c876eba9e9f40020b5cd6d649c","tests/oneshot.rs":"352d2c9ded587d8aeac73f4c45330dec8eff19d2f38cbb721d88cf857a534b10"},"package":"8b1569d10a46364ba450edfbd7c9349997fbe01591074d22a33cd1a096fcf33a"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-channel-preview/Cargo.toml b/rustc_deps/vendor/futures-channel-preview/Cargo.toml
index d938369..174c589 100644
--- a/rustc_deps/vendor/futures-channel-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-channel-preview/Cargo.toml
@@ -14,24 +14,27 @@
 
 [package]
 name = "futures-channel-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "Channels for asynchronous communication using futures-rs.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_channel"
-license = "MIT/Apache-2.0"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_channel"
+license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
 
 [lib]
 name = "futures_channel"
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 [dev-dependencies.futures-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = true
 
+[dev-dependencies.pin-utils]
+version = "0.1.0-alpha.1"
+
 [features]
 default = ["std"]
 std = ["futures-core-preview/std"]
diff --git a/rustc_deps/vendor/futures-channel-preview/benches/sync_mpsc.rs b/rustc_deps/vendor/futures-channel-preview/benches/sync_mpsc.rs
index 573eca9..f1b48f7 100755
--- a/rustc_deps/vendor/futures-channel-preview/benches/sync_mpsc.rs
+++ b/rustc_deps/vendor/futures-channel-preview/benches/sync_mpsc.rs
@@ -1,19 +1,11 @@
 #![feature(test, futures_api, pin, arbitrary_self_types)]
 
-#[macro_use]
-extern crate futures;
-extern crate test;
-
-use futures::task::{self, Wake, LocalWaker};
+use futures::ready;
+use futures::channel::mpsc::{self, Sender, UnboundedSender};
 use futures::executor::LocalPool;
-use futures::prelude::*;
-use futures::channel::mpsc::{
-    unbounded,
-    channel,
-    Sender,
-    UnboundedSender,
-};
-
+use futures::stream::{Stream, StreamExt};
+use futures::sink::Sink;
+use futures::task::{self, Poll, Wake, LocalWaker};
 use std::mem::PinMut;
 use std::sync::Arc;
 use test::Bencher;
@@ -30,9 +22,9 @@
 
 fn noop_cx(f: impl FnOnce(&mut task::Context)) {
     let pool = LocalPool::new();
-    let mut exec = pool.executor();
+    let mut spawn = pool.spawner();
     let waker = notify_noop();
-    let cx = &mut task::Context::new(&waker, &mut exec);
+    let cx = &mut task::Context::new(&waker, &mut spawn);
     f(cx)
 }
 
@@ -41,7 +33,7 @@
 fn unbounded_1_tx(b: &mut Bencher) {
     noop_cx(|cx| {
         b.iter(|| {
-            let (tx, mut rx) = unbounded();
+            let (tx, mut rx) = mpsc::unbounded();
 
             // 1000 iterations to avoid measuring overhead of initialization
             // Result should be divided by 1000
@@ -64,7 +56,7 @@
 fn unbounded_100_tx(b: &mut Bencher) {
     noop_cx(|cx| {
         b.iter(|| {
-            let (tx, mut rx) = unbounded();
+            let (tx, mut rx) = mpsc::unbounded();
 
             let tx: Vec<_> = (0..100).map(|_| tx.clone()).collect();
 
@@ -86,7 +78,7 @@
 fn unbounded_uncontended(b: &mut Bencher) {
     noop_cx(|cx| {
         b.iter(|| {
-            let (tx, mut rx) = unbounded();
+            let (tx, mut rx) = mpsc::unbounded();
 
             for i in 0..1000 {
                 UnboundedSender::unbounded_send(&tx, i).expect("send");
@@ -127,7 +119,7 @@
 fn bounded_1_tx(b: &mut Bencher) {
     noop_cx(|cx| {
         b.iter(|| {
-            let (tx, mut rx) = channel(0);
+            let (tx, mut rx) = mpsc::channel(0);
 
             let mut tx = TestSender { tx, last: 0 };
 
@@ -146,7 +138,7 @@
     noop_cx(|cx| {
         b.iter(|| {
             // Each sender can send one item after specified capacity
-            let (tx, mut rx) = channel(0);
+            let (tx, mut rx) = mpsc::channel(0);
 
             let mut tx: Vec<_> = (0..100).map(|_| {
                 TestSender {
diff --git a/rustc_deps/vendor/futures-channel-preview/src/lib.rs b/rustc_deps/vendor/futures-channel-preview/src/lib.rs
index 64ab63d..7c3cdd7 100644
--- a/rustc_deps/vendor/futures-channel-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-channel-preview/src/lib.rs
@@ -10,12 +10,7 @@
 #![warn(missing_docs, missing_debug_implementations)]
 #![deny(bare_trait_objects)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_channel")]
-
-#[cfg(feature = "std")]
-extern crate std;
-
-extern crate futures_core;
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_channel")]
 
 macro_rules! if_std {
     ($($i:item)*) => ($(
diff --git a/rustc_deps/vendor/futures-channel-preview/src/oneshot.rs b/rustc_deps/vendor/futures-channel-preview/src/oneshot.rs
index 29392fe..5eb1a56 100644
--- a/rustc_deps/vendor/futures-channel-preview/src/oneshot.rs
+++ b/rustc_deps/vendor/futures-channel-preview/src/oneshot.rs
@@ -84,24 +84,22 @@
 ///
 /// ```
 /// use futures::channel::oneshot;
-/// use futures::prelude::*;
+/// use futures::future::FutureExt;
 /// use std::thread;
 ///
-/// fn main() {
-///     let (sender, receiver) = oneshot::channel::<i32>();
+/// let (sender, receiver) = oneshot::channel::<i32>();
 ///
 /// # let t =
-///     thread::spawn(|| {
-///         let future = receiver.map(|i| {
-///             println!("got: {:?}", i);
-///         });
-///         // ...
-/// # return future;
+/// thread::spawn(|| {
+///     let future = receiver.map(|i| {
+///         println!("got: {:?}", i);
 ///     });
+///     // ...
+/// # return future;
+/// });
 ///
-///     sender.send(3).unwrap();
+/// sender.send(3).unwrap();
 /// # futures::executor::block_on(t.join().unwrap());
-/// }
 /// ```
 pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
     let inner = Arc::new(Inner::new());
diff --git a/rustc_deps/vendor/futures-channel-preview/tests/channel.rs b/rustc_deps/vendor/futures-channel-preview/tests/channel.rs
index 1d2ab27..a2af8b5 100644
--- a/rustc_deps/vendor/futures-channel-preview/tests/channel.rs
+++ b/rustc_deps/vendor/futures-channel-preview/tests/channel.rs
@@ -1,14 +1,12 @@
 #![feature(async_await, await_macro, futures_api)]
 
-extern crate futures;
-
-use std::sync::atomic::*;
-use std::thread;
-
-use futures::prelude::*;
-use futures::future::poll_fn;
-use futures::executor::block_on;
 use futures::channel::mpsc;
+use futures::executor::block_on;
+use futures::future::poll_fn;
+use futures::stream::StreamExt;
+use futures::sink::SinkExt;
+use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering};
+use std::thread;
 
 #[test]
 fn sequence() {
diff --git a/rustc_deps/vendor/futures-channel-preview/tests/mpsc-close.rs b/rustc_deps/vendor/futures-channel-preview/tests/mpsc-close.rs
index a2bae4b..b8ab5fe 100644
--- a/rustc_deps/vendor/futures-channel-preview/tests/mpsc-close.rs
+++ b/rustc_deps/vendor/futures-channel-preview/tests/mpsc-close.rs
@@ -1,14 +1,12 @@
-extern crate futures;
-
-use std::thread;
-
-use futures::prelude::*;
-use futures::channel::mpsc::*;
+use futures::channel::mpsc;
 use futures::executor::block_on;
+use futures::sink::SinkExt;
+use futures::stream::StreamExt;
+use std::thread;
 
 #[test]
 fn smoke() {
-    let (mut sender, receiver) = channel(1);
+    let (mut sender, receiver) = mpsc::channel(1);
 
     let t = thread::spawn(move || {
         while let Ok(()) = block_on(sender.send(42)) {}
diff --git a/rustc_deps/vendor/futures-channel-preview/tests/mpsc.rs b/rustc_deps/vendor/futures-channel-preview/tests/mpsc.rs
index 9067e40..5356a70 100644
--- a/rustc_deps/vendor/futures-channel-preview/tests/mpsc.rs
+++ b/rustc_deps/vendor/futures-channel-preview/tests/mpsc.rs
@@ -1,17 +1,15 @@
 #![feature(futures_api, async_await, await_macro, pin)]
 
-#[macro_use]
-extern crate futures;
-
-use std::thread;
+use futures::channel::{mpsc, oneshot};
+use futures::executor::{block_on, block_on_stream};
+use futures::future::{FutureExt, poll_fn};
+use futures::stream::{Stream, StreamExt};
+use futures::sink::{Sink, SinkExt};
+use futures::task::Poll;
+use pin_utils::pin_mut;
 use std::sync::{Arc, Mutex};
 use std::sync::atomic::{AtomicUsize, Ordering};
-
-use futures::prelude::*;
-use futures::future::poll_fn;
-use futures::channel::mpsc;
-use futures::channel::oneshot;
-use futures::executor::{block_on, block_on_stream};
+use std::thread;
 
 trait AssertSend: Send {}
 impl AssertSend for mpsc::Sender<i32> {}
diff --git a/rustc_deps/vendor/futures-channel-preview/tests/oneshot.rs b/rustc_deps/vendor/futures-channel-preview/tests/oneshot.rs
index 0993482..899f080 100644
--- a/rustc_deps/vendor/futures-channel-preview/tests/oneshot.rs
+++ b/rustc_deps/vendor/futures-channel-preview/tests/oneshot.rs
@@ -1,20 +1,16 @@
 #![feature(futures_api, arbitrary_self_types, pin)]
 
-extern crate futures;
-
+use futures::channel::oneshot::{self, Sender};
+use futures::executor::block_on;
+use futures::future::{Future, FutureExt, poll_fn};
+use futures::task::{self, Poll};
 use std::mem::PinMut;
 use std::sync::mpsc;
 use std::thread;
 
-use futures::future::poll_fn;
-use futures::prelude::*;
-use futures::task;
-use futures::channel::oneshot::*;
-use futures::executor::block_on;
-
 #[test]
 fn smoke_poll() {
-    let (mut tx, rx) = channel::<u32>();
+    let (mut tx, rx) = oneshot::channel::<u32>();
     let mut rx = Some(rx);
     let f = poll_fn(|cx| {
         assert!(tx.poll_cancel(cx).is_pending());
@@ -30,7 +26,7 @@
 
 #[test]
 fn cancel_notifies() {
-    let (tx, rx) = channel::<u32>();
+    let (tx, rx) = oneshot::channel::<u32>();
 
     let t = thread::spawn(|| {
         block_on(WaitForCancel { tx: tx });
@@ -62,7 +58,7 @@
     });
 
     for _ in 0..20000 {
-        let (otx, orx) = channel::<u32>();
+        let (otx, orx) = oneshot::channel::<u32>();
         let (tx2, rx2) = mpsc::channel();
         tx.send((otx, tx2)).unwrap();
         drop(orx);
@@ -75,7 +71,7 @@
 
 #[test]
 fn close() {
-    let (mut tx, mut rx) = channel::<u32>();
+    let (mut tx, mut rx) = oneshot::channel::<u32>();
     rx.close();
     block_on(poll_fn(|cx| {
         match rx.poll_unpin(cx) {
@@ -89,7 +85,7 @@
 
 #[test]
 fn close_wakes() {
-    let (tx, mut rx) = channel::<u32>();
+    let (tx, mut rx) = oneshot::channel::<u32>();
     let (tx2, rx2) = mpsc::channel();
     let t = thread::spawn(move || {
         rx.close();
@@ -102,7 +98,7 @@
 
 #[test]
 fn is_canceled() {
-    let (tx, rx) = channel::<u32>();
+    let (tx, rx) = oneshot::channel::<u32>();
     assert!(!tx.is_canceled());
     drop(rx);
     assert!(tx.is_canceled());
@@ -118,7 +114,7 @@
     });
 
     for _ in 0..20000 {
-        let (otx, mut orx) = channel::<u32>();
+        let (otx, mut orx) = oneshot::channel::<u32>();
         tx.send(otx).unwrap();
 
         orx.close();
diff --git a/rustc_deps/vendor/futures-core-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-core-preview/.cargo-checksum.json
index 061e180..612b495 100644
--- a/rustc_deps/vendor/futures-core-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-core-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"fd29f5321e17cd144bb1fcc69e95bf2a5572bc877776f3c2498670673450393d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/future.rs":"e88132a373a98a990f715bd7adb288ca5fba885316044086bd121f7d02448570","src/lib.rs":"2e64d034e5b1895b6ce8c7f94b7cb42c9462c625afb017a0c751435910e0528d","src/stream.rs":"b962c2adafc3ac3e60a21d674017f0ab70d62dd00764fa05d2e09b2a3f1f2e1d","src/task.rs":"e89c05bd6fdb79046ade96010f001499751adbef9ad94baf16db78f0afd306d4"},"package":"32362ee9b8db9c27f35cde87ffb9ce7d01acdd2e8e28ca4dbd866c1fd804edb9"}
\ No newline at end of file
+{"files":{"Cargo.toml":"4ae1c496e54af58d1bcc568302cd459262e1f2ebfe28ac93de8a92329406b307","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/future.rs":"e88132a373a98a990f715bd7adb288ca5fba885316044086bd121f7d02448570","src/lib.rs":"d0c0fdbf383f1f5e15bb6dffe697e8a7e9bde268251450cc0b829a05cb6092c9","src/stream.rs":"b962c2adafc3ac3e60a21d674017f0ab70d62dd00764fa05d2e09b2a3f1f2e1d","src/task.rs":"ee9c970c340c17578fe29f1c6821641ed592bc4ec095497bc7de771e9963b005"},"package":"33768a7a895bd14e3c24518454f233666387070acd0e8e671bd1c08f89abaf73"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-core-preview/Cargo.toml b/rustc_deps/vendor/futures-core-preview/Cargo.toml
index 2b70032..540e47d 100644
--- a/rustc_deps/vendor/futures-core-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-core-preview/Cargo.toml
@@ -14,12 +14,12 @@
 
 [package]
 name = "futures-core-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "The core traits and types in for the `futures` library.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_core"
-license = "MIT/Apache-2.0"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_core"
+license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
 
diff --git a/rustc_deps/vendor/futures-core-preview/src/lib.rs b/rustc_deps/vendor/futures-core-preview/src/lib.rs
index 9e80a8d..686f9e7 100644
--- a/rustc_deps/vendor/futures-core-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-core-preview/src/lib.rs
@@ -7,13 +7,7 @@
 #![warn(missing_docs, missing_debug_implementations)]
 #![deny(bare_trait_objects)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_core")]
-
-#[cfg(feature = "std")]
-extern crate std;
-
-#[cfg(feature = "either")]
-extern crate either;
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_core")]
 
 #[doc(hidden)] pub use crate::future::Future;
 #[doc(hidden)] pub use crate::future::TryFuture;
diff --git a/rustc_deps/vendor/futures-core-preview/src/task.rs b/rustc_deps/vendor/futures-core-preview/src/task.rs
index 6c10a68..f0fbb61 100644
--- a/rustc_deps/vendor/futures-core-preview/src/task.rs
+++ b/rustc_deps/vendor/futures-core-preview/src/task.rs
@@ -1,7 +1,7 @@
 //! Task notification.
 
 pub use core::task::{
-    Context, Poll, Executor,
+    Context, Poll, Spawn,
     Waker, LocalWaker, UnsafeWake,
     SpawnErrorKind, SpawnObjError, SpawnLocalObjError,
 };
diff --git a/rustc_deps/vendor/futures-executor-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-executor-preview/.cargo-checksum.json
index b5feee9..c65fbcd 100644
--- a/rustc_deps/vendor/futures-executor-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-executor-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"511cb68acbf303fa2e20d8f2c654d83abd8e07dd9e18c62da7b0e0d826b42a25","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/poll.rs":"2624ec4f8baf35042b9541885cdbc72011f63ffc21d7cf710bbd0862edaa4850","benches/thread_notify.rs":"54f878d4561efdd0ff6741668050ea4ed976a16298ac95f334ebd1b6940bc18c","src/enter.rs":"96f74df35aca1de4dbec9d051482d4957ff56209e44ced6f489ac9cb15df6ba6","src/lib.rs":"2a2e2eda1b54a9abe0ad088f18eacadba6a95e0869894e3036dcb6882a6dc58e","src/local_pool.rs":"462a7974107e23b963c6a3ccdc6950b1cb79d611a12c20cec38146b73b3f0f84","src/thread_pool.rs":"acea5eadd71133de09d3324cf45b0be97265c45576853681beecee240570fee8","src/unpark_mutex.rs":"7d37d56bd632fbd49e232e057ac55517f9714745eacc72c397aa07bb14450840","tests/local_pool.rs":"539634f1eb6578d732db48969ec8b4202b4055d7dc19c97f306ea1eb5852b75a"},"package":"579ef5beb2409a8fdd38fe5e34ba7249a78f07235a4d7a59f7f73ed75e38bf39"}
\ No newline at end of file
+{"files":{"Cargo.toml":"af7105c57308bdab87e64c12c7d0a5150c714c580f1df663a6862e313a014ff5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/poll.rs":"748c62b03b025018be62ab3067e47c7a1fc07b6b5592d92f758ad9cfc356193f","benches/thread_notify.rs":"54f878d4561efdd0ff6741668050ea4ed976a16298ac95f334ebd1b6940bc18c","src/enter.rs":"96f74df35aca1de4dbec9d051482d4957ff56209e44ced6f489ac9cb15df6ba6","src/lib.rs":"351a0b90b52707958b8669ccebe76620f10e273877216cda7c6b4c4a32c85931","src/local_pool.rs":"66d5e86621725fe7d02582101bd8da52dd6b6de82be190b5170ab0083564f551","src/thread_pool.rs":"753c4a9c39f8c281eee760f84f9ac4993427738813140d75ad5378b79dc85657","src/unpark_mutex.rs":"7d37d56bd632fbd49e232e057ac55517f9714745eacc72c397aa07bb14450840","tests/local_pool.rs":"d6d6bc58d7af64efab422831659970de44c691f31d149eaddfbaa90d975bd142"},"package":"94ddf580beef58db28c6f39461f9880c0b040342c3fbee10d920092d68953b1a"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-executor-preview/Cargo.toml b/rustc_deps/vendor/futures-executor-preview/Cargo.toml
index 8123c39..cca7a2e 100644
--- a/rustc_deps/vendor/futures-executor-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-executor-preview/Cargo.toml
@@ -14,11 +14,11 @@
 
 [package]
 name = "futures-executor-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "Executors for asynchronous tasks based on the futures-rs library.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures_executor"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_executor"
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
@@ -26,15 +26,15 @@
 [lib]
 name = "futures_executor"
 [dependencies.futures-channel-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-util-preview]
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.lazy_static]
@@ -48,10 +48,10 @@
 [dependencies.pin-utils]
 version = "0.1.0-alpha.1"
 [dev-dependencies.futures-channel-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 
 [dev-dependencies.futures-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 
 [features]
 default = ["std"]
diff --git a/rustc_deps/vendor/futures-executor-preview/benches/poll.rs b/rustc_deps/vendor/futures-executor-preview/benches/poll.rs
index 9255b7f..08b4c07 100755
--- a/rustc_deps/vendor/futures-executor-preview/benches/poll.rs
+++ b/rustc_deps/vendor/futures-executor-preview/benches/poll.rs
@@ -57,9 +57,9 @@
     };
 
     let pool = LocalPool::new();
-    let mut exec = pool.executor();
+    let mut spawn = pool.spawner();
     let waker = notify_noop();
-    let mut cx = task::Context::new(&waker, &mut exec);
+    let mut cx = task::Context::new(&waker, &mut spawn);
 
     b.iter(|| {
         fut.num = 0;
diff --git a/rustc_deps/vendor/futures-executor-preview/src/lib.rs b/rustc_deps/vendor/futures-executor-preview/src/lib.rs
index 04391f1..77acfc8 100644
--- a/rustc_deps/vendor/futures-executor-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-executor-preview/src/lib.rs
@@ -7,7 +7,7 @@
 #![warn(missing_docs, missing_debug_implementations)]
 #![deny(bare_trait_objects)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures_executor")]
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_executor")]
 
 macro_rules! if_std {
     ($($i:item)*) => ($(
@@ -18,7 +18,7 @@
 
 if_std! {
     mod local_pool;
-    pub use crate::local_pool::{block_on, block_on_stream, BlockingStream, LocalPool, LocalExecutor};
+    pub use crate::local_pool::{block_on, block_on_stream, BlockingStream, LocalPool, LocalSpawn};
 
     mod unpark_mutex;
     mod thread_pool;
diff --git a/rustc_deps/vendor/futures-executor-preview/src/local_pool.rs b/rustc_deps/vendor/futures-executor-preview/src/local_pool.rs
index 996e753..b3e95cc 100644
--- a/rustc_deps/vendor/futures-executor-preview/src/local_pool.rs
+++ b/rustc_deps/vendor/futures-executor-preview/src/local_pool.rs
@@ -3,7 +3,7 @@
 use futures_core::stream::{Stream};
 use futures_core::task::{
     self, Context, Poll, LocalWaker, Wake,
-    Executor, SpawnObjError, SpawnLocalObjError, SpawnErrorKind
+    Spawn, SpawnObjError, SpawnLocalObjError, SpawnErrorKind
 };
 use futures_util::stream::FuturesUnordered;
 use futures_util::stream::StreamExt;
@@ -24,10 +24,10 @@
 /// little work in between I/O actions.
 ///
 /// To get a handle to the pool that implements
-/// [`Executor`](futures_core::task::Executor), use the
-/// [`executor()`](LocalPool::executor) method. Because the executor is
+/// [`Spawn`](futures_core::task::Spawn), use the
+/// [`spawner()`](LocalPool::spawner) method. Because the executor is
 /// single-threaded, it supports a special form of task spawning for non-`Send`
-/// futures, via [`spawn_local_obj`](LocalExecutor::spawn_local_obj).
+/// futures, via [`spawn_local_obj`](LocalSpawn::spawn_local_obj).
 #[derive(Debug)]
 pub struct LocalPool {
     pool: FuturesUnordered<LocalFutureObj<'static, ()>>,
@@ -35,9 +35,9 @@
 }
 
 /// A handle to a [`LocalPool`](LocalPool) that implements
-/// [`Executor`](futures_core::task::Executor).
+/// [`Spawn`](futures_core::task::Spawn).
 #[derive(Clone, Debug)]
-pub struct LocalExecutor {
+pub struct LocalSpawn {
     incoming: Weak<Incoming>,
 }
 
@@ -59,7 +59,7 @@
     }
 }
 
-// Set up and run a basic single-threaded executor loop, invocing `f` on each
+// Set up and run a basic single-threaded spawner loop, invoking `f` on each
 // turn.
 fn run_executor<T, F: FnMut(&LocalWaker) -> Poll<T>>(mut f: F) -> T {
     let _enter = enter()
@@ -87,42 +87,42 @@
         }
     }
 
-    /// Get a clonable handle to the pool as an executor.
-    pub fn executor(&self) -> LocalExecutor {
-        LocalExecutor {
+    /// Get a clonable handle to the pool as a [`Spawn`].
+    pub fn spawner(&self) -> LocalSpawn {
+        LocalSpawn {
             incoming: Rc::downgrade(&self.incoming)
         }
     }
 
     /// Run all tasks in the pool to completion.
     ///
-    /// The given executor, `exec`, is used as the default executor for any
+    /// The given spawner, `spawn`, is used as the default spawner for any
     /// *newly*-spawned tasks. You can route these additional tasks back into
-    /// the `LocalPool` by using its executor handle:
+    /// the `LocalPool` by using its spawner handle:
     ///
     /// ```
     /// use futures::executor::LocalPool;
     ///
     /// let mut pool = LocalPool::new();
-    /// let mut exec = pool.executor();
+    /// let mut spawn = pool.spawner();
     ///
-    /// // ... spawn some initial tasks using `exec.spawn()` or `exec.spawn_local()`
+    /// // ... spawn some initial tasks using `spawn.spawn()` or `spawn.spawn_local()`
     ///
     /// // run *all* tasks in the pool to completion, including any newly-spawned ones.
-    /// pool.run(&mut exec);
+    /// pool.run(&mut spawn);
     /// ```
     ///
     /// The function will block the calling thread until *all* tasks in the pool
     /// are complete, including any spawned while running existing tasks.
-    pub fn run<Exec>(&mut self, exec: &mut Exec) where Exec: Executor + Sized {
-        run_executor(|local_waker| self.poll_pool(local_waker, exec))
+    pub fn run<Sp>(&mut self, spawn: &mut Sp) where Sp: Spawn + Sized {
+        run_executor(|local_waker| self.poll_pool(local_waker, spawn))
     }
 
     /// Runs all the tasks in the pool until the given future completes.
     ///
-    /// The given executor, `exec`, is used as the default executor for any
+    /// The given spawner, `spawn`, is used as the default spawner for any
     /// *newly*-spawned tasks. You can route these additional tasks back into
-    /// the `LocalPool` by using its executor handle:
+    /// the `LocalPool` by using its spawner handle:
     ///
     /// ```
     /// #![feature(pin, arbitrary_self_types, futures_api)]
@@ -130,12 +130,12 @@
     /// use futures::future::ready;
     ///
     /// let mut pool = LocalPool::new();
-    /// let mut exec = pool.executor();
+    /// let mut spawn = pool.spawner();
     /// # let my_app  = ready(());
     ///
     /// // run tasks in the pool until `my_app` completes, by default spawning
     /// // further tasks back onto the pool
-    /// pool.run_until(my_app, &mut exec);
+    /// pool.run_until(my_app, &mut spawn);
     /// ```
     ///
     /// The function will block the calling thread *only* until the future `f`
@@ -143,15 +143,15 @@
     /// be inert after the call completes, but can continue with further use of
     /// `run` or `run_until`. While the function is running, however, all tasks
     /// in the pool will try to make progress.
-    pub fn run_until<F, Exec>(&mut self, future: F, exec: &mut Exec)
+    pub fn run_until<F, Sp>(&mut self, future: F, spawn: &mut Sp)
         -> F::Output
-        where F: Future, Exec: Executor + Sized
+        where F: Future, Sp: Spawn + Sized
     {
         pin_mut!(future);
 
         run_executor(|local_waker| {
             {
-                let mut main_cx = Context::new(local_waker, exec);
+                let mut main_cx = Context::new(local_waker, spawn);
 
                 // if our main task is done, so are we
                 let result = future.reborrow().poll(&mut main_cx);
@@ -160,19 +160,19 @@
                 }
             }
 
-            self.poll_pool(local_waker, exec);
+            self.poll_pool(local_waker, spawn);
             Poll::Pending
         })
     }
 
     // Make maximal progress on the entire pool of spawned task, returning `Ready`
     // if the pool is empty and `Pending` if no further progress can be made.
-    fn poll_pool<Exec>(&mut self, local_waker: &LocalWaker, exec: &mut Exec)
+    fn poll_pool<Sp>(&mut self, local_waker: &LocalWaker, spawn: &mut Sp)
         -> Poll<()>
-        where Exec: Executor + Sized
+        where Sp: Spawn + Sized
     {
         // state for the FuturesUnordered, which will never be used
-        let mut pool_cx = Context::new(local_waker, exec);
+        let mut pool_cx = Context::new(local_waker, spawn);
 
         loop {
             // empty the incoming queue of newly-spawned tasks
@@ -215,7 +215,7 @@
 /// Run a future to completion on the current thread.
 ///
 /// This function will block the caller until the given future has completed.
-/// The default executor for the future is a global `ThreadPool`.
+/// The default spawner for the future is a global `ThreadPool`.
 ///
 /// Use a [`LocalPool`](LocalPool) if you need finer-grained control over
 /// spawned tasks.
@@ -228,7 +228,7 @@
 ///
 /// When `next` is called on the resulting `BlockingStream`, the caller
 /// will be blocked until the next element of the `Stream` becomes available.
-/// The default executor for the future is a global `ThreadPool`.
+/// The default spawner for the future is a global `ThreadPool`.
 pub fn block_on_stream<S: Stream + Unpin>(stream: S) -> BlockingStream<S> {
     BlockingStream { stream }
 }
@@ -264,7 +264,7 @@
     }
 }
 
-impl Executor for LocalExecutor {
+impl Spawn for LocalSpawn {
     fn spawn_obj(
         &mut self,
         future: FutureObj<'static, ()>,
@@ -286,7 +286,7 @@
     }
 }
 
-impl LocalExecutor {
+impl LocalSpawn {
     /// Spawn a non-`Send` future onto the associated [`LocalPool`](LocalPool).
     pub fn spawn_local_obj(
         &mut self,
diff --git a/rustc_deps/vendor/futures-executor-preview/src/thread_pool.rs b/rustc_deps/vendor/futures-executor-preview/src/thread_pool.rs
index e9cbaa3..19f247c 100644
--- a/rustc_deps/vendor/futures-executor-preview/src/thread_pool.rs
+++ b/rustc_deps/vendor/futures-executor-preview/src/thread_pool.rs
@@ -1,7 +1,7 @@
 use crate::enter;
 use crate::unpark_mutex::UnparkMutex;
 use futures_core::future::{Future, FutureObj};
-use futures_core::task::{self, Poll, Wake, Executor, SpawnObjError};
+use futures_core::task::{self, Poll, Wake, Spawn, SpawnObjError};
 use futures_util::future::FutureExt;
 use futures_util::task::local_waker_ref_from_nonlocal;
 use num_cpus;
@@ -85,12 +85,12 @@
         ThreadPoolBuilder::new()
     }
 
-    /// Runs the given future with this thread pool as the default executor for
+    /// Runs the given future with this thread pool as the default spawner for
     /// spawning tasks.
     ///
     /// **This function will block the calling thread** until the given future
     /// is complete. While executing that future, any tasks spawned onto the
-    /// default executor will be routed to this thread pool.
+    /// default spawner will be routed to this thread pool.
     ///
     /// Note that the function will return when the provided future completes,
     /// even if some of the tasks it spawned are still running.
@@ -99,7 +99,7 @@
     }
 }
 
-impl Executor for ThreadPool {
+impl Spawn for ThreadPool {
     fn spawn_obj(
         &mut self,
         future: FutureObj<'static, ()>,
diff --git a/rustc_deps/vendor/futures-executor-preview/tests/local_pool.rs b/rustc_deps/vendor/futures-executor-preview/tests/local_pool.rs
index 2f755a8..fbd8679 100755
--- a/rustc_deps/vendor/futures-executor-preview/tests/local_pool.rs
+++ b/rustc_deps/vendor/futures-executor-preview/tests/local_pool.rs
@@ -3,7 +3,7 @@
 use futures::channel::oneshot;
 use futures::executor::LocalPool;
 use futures::future::{Future, lazy};
-use futures::task::{self, Poll, Executor};
+use futures::task::{self, Poll, Spawn};
 use std::boxed::PinBox;
 use std::cell::{Cell, RefCell};
 use std::mem::PinMut;
@@ -29,12 +29,12 @@
 
     {
         let mut pool = LocalPool::new();
-        let mut exec = pool.executor();
+        let mut spawn = pool.spawner();
         let fut = lazy(|_| {
             cnt += 1;
             ()
         });
-        assert_eq!(pool.run_until(fut, &mut exec), ());
+        assert_eq!(pool.run_until(fut, &mut spawn), ());
     }
 
     assert_eq!(cnt, 1);
@@ -43,21 +43,21 @@
 #[test]
 fn run_until_ignores_spawned() {
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
-    exec.spawn_local_obj(PinBox::new(pending()).into()).unwrap();
-    assert_eq!(pool.run_until(lazy(|_| ()), &mut exec), ());
+    let mut spawn = pool.spawner();
+    spawn.spawn_local_obj(PinBox::new(pending()).into()).unwrap();
+    assert_eq!(pool.run_until(lazy(|_| ()), &mut spawn), ());
 }
 
 #[test]
 fn run_until_executes_spawned() {
     let (tx, rx) = oneshot::channel();
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
-    exec.spawn_local_obj(PinBox::new(lazy(move |_| {
+    let mut spawn = pool.spawner();
+    spawn.spawn_local_obj(PinBox::new(lazy(move |_| {
         tx.send(()).unwrap();
         ()
     })).into()).unwrap();
-    pool.run_until(rx, &mut exec).unwrap();
+    pool.run_until(rx, &mut spawn).unwrap();
 }
 
 #[test]
@@ -66,18 +66,18 @@
     let cnt2 = cnt.clone();
 
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
-    let mut exec2 = pool.executor();
+    let mut spawn = pool.spawner();
+    let mut spawn2 = pool.spawner();
 
-    exec.spawn_local_obj(PinBox::new(lazy(move |_| {
-        exec2.spawn_local_obj(PinBox::new(lazy(move |_| {
+    spawn.spawn_local_obj(PinBox::new(lazy(move |_| {
+        spawn2.spawn_local_obj(PinBox::new(lazy(move |_| {
             cnt2.set(cnt2.get() + 1);
             ()
         })).into()).unwrap();
         ()
     })).into()).unwrap();
 
-    pool.run(&mut exec);
+    pool.run(&mut spawn);
 
     assert_eq!(cnt.get(), 1);
 }
@@ -90,17 +90,17 @@
     let cnt = Rc::new(Cell::new(0));
 
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
+    let mut spawn = pool.spawner();
 
     for _ in 0..ITER {
         let cnt = cnt.clone();
-        exec.spawn_local_obj(PinBox::new(lazy(move |_| {
+        spawn.spawn_local_obj(PinBox::new(lazy(move |_| {
             cnt.set(cnt.get() + 1);
             ()
         })).into()).unwrap();
     }
 
-    pool.run(&mut exec);
+    pool.run(&mut spawn);
 
     assert_eq!(cnt.get(), ITER);
 }
@@ -109,14 +109,14 @@
 #[should_panic]
 fn nesting_run() {
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
+    let mut spawn = pool.spawner();
 
-    exec.spawn_obj(PinBox::new(lazy(|_| {
+    spawn.spawn_obj(PinBox::new(lazy(|_| {
         let mut pool = LocalPool::new();
-        let mut exec = pool.executor();
-        pool.run(&mut exec);
+        let mut spawn = pool.spawner();
+        pool.run(&mut spawn);
     })).into()).unwrap();
-    pool.run(&mut exec);
+    pool.run(&mut spawn);
 }
 
 #[test]
@@ -156,18 +156,18 @@
     }
 
     let mut pool = LocalPool::new();
-    let mut exec = pool.executor();
+    let mut spawn = pool.spawner();
 
-    exec.spawn_local_obj(PinBox::new(Spin {
+    spawn.spawn_local_obj(PinBox::new(Spin {
         state: state.clone(),
         idx: 0,
     }).into()).unwrap();
 
-    exec.spawn_local_obj(PinBox::new(Spin {
+    spawn.spawn_local_obj(PinBox::new(Spin {
         state: state,
         idx: 1,
     }).into()).unwrap();
 
-    pool.run(&mut exec);
+    pool.run(&mut spawn);
 }
 
diff --git a/rustc_deps/vendor/futures-io-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-io-preview/.cargo-checksum.json
index cabe8ce..c6abe9b 100644
--- a/rustc_deps/vendor/futures-io-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-io-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"689e78068893b4d66e29c3c20237ce84de1e318eb6645cb9d4fbf1012f23b1fd","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"713e154bca1ba91fe67a95a24a70ff758b08a5533ff038c58f58c3bca0f9b53c","tests/cursor.rs":"02e192108dfce6cbea72b85fbda0a369a1d8f7367b38a200881725b96076d13c"},"package":"74a54753ae33974f6b8475235a735082bcbbd1b418dc1d03f0f2e1de1c53b901"}
\ No newline at end of file
+{"files":{"Cargo.toml":"65ecfaf0b77135f1bcb70a67b6119e888a41312922d2b5413e7da9914d29e022","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"429fb5b141aa66e720b692c2ec4eae99b799ba92a00a19e492e8c07aca43afb7","tests/cursor.rs":"663dbdd2a7ac4aa21636dbe0f46e444f5c613d4afdc5aed669ecf080ed297189"},"package":"772f2d8a4109b2d57347ed8bbb5a0535896ed190a6004af23cca86db8be1311d"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-io-preview/Cargo.toml b/rustc_deps/vendor/futures-io-preview/Cargo.toml
index d12bebb..42042d8 100644
--- a/rustc_deps/vendor/futures-io-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-io-preview/Cargo.toml
@@ -14,19 +14,19 @@
 
 [package]
 name = "futures-io-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "The `AsyncRead` and `AsyncWrite` traits for the futures-rs library.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_io"
-license = "MIT/Apache-2.0"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_io"
+license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
 
 [lib]
 name = "futures_io"
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.iovec]
@@ -36,7 +36,7 @@
 version = "1.3.0"
 
 [dev-dependencies.futures-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 
 [features]
 default = ["std"]
diff --git a/rustc_deps/vendor/futures-io-preview/src/lib.rs b/rustc_deps/vendor/futures-io-preview/src/lib.rs
index d724241..9a7b6e5 100644
--- a/rustc_deps/vendor/futures-io-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-io-preview/src/lib.rs
@@ -9,7 +9,7 @@
 #![warn(missing_docs, missing_debug_implementations)]
 #![deny(bare_trait_objects)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_io")]
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_io")]
 
 #![feature(futures_api)]
 
@@ -362,7 +362,7 @@
         ) -> Poll<Result<usize>> {
             let position = self.position();
             let result = {
-                let mut out = self.get_mut().as_mut();
+                let out = self.get_mut().as_mut();
                 let pos = cmp::min(out.len() as u64, position) as usize;
                 StdIo::Write::write(&mut &mut out[pos..], buf)
             };
diff --git a/rustc_deps/vendor/futures-io-preview/tests/cursor.rs b/rustc_deps/vendor/futures-io-preview/tests/cursor.rs
index fb3b71a..952ca5b 100644
--- a/rustc_deps/vendor/futures-io-preview/tests/cursor.rs
+++ b/rustc_deps/vendor/futures-io-preview/tests/cursor.rs
@@ -1,4 +1,4 @@
-#![feature(use_extern_macros, futures_api)]
+#![feature(futures_api)]
 
 use assert_matches::assert_matches;
 use futures::Poll;
diff --git a/rustc_deps/vendor/futures-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-preview/.cargo-checksum.json
index 58f6fc2..1401563 100644
--- a/rustc_deps/vendor/futures-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"219e138043958e9272e6a4c990ec7df32d46185ef4a942a282c8963fab0ae984","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"66bb8627c9c53a16c993fddc511b4f54fc9e712701148e67139e4e0e6a8f24d6","tests/abortable.rs":"44a213c13c3aa68dc6535bddd8cdfdd9f908dd2ac29db2974bce8340a667abde","tests/async_await_macros.rs":"6619f5eb147fd0231021204e3c0416b5b93545f0fad7ed746d5e70bc00c30aa5","tests/basic_combinators.rs":"2edd82ce0109531df4a1957651ad9a1b3deb1569cb26d3c4cf03f59def1e5bd5","tests/eager_drop.rs":"7c62e39e004a59677c1b3c71724ed00a42190f1eeb697e2391bee05dba59ec1c","tests/fuse.rs":"eb2fba5899b7f5e5c7bc8914e882ba6b8caf9bf694b3b26654a1096b02a600f4","tests/futures_ordered.rs":"e3a01bc02237b7d76760c9d52bb26f954365ba262802ed11c5e32bbede250211","tests/futures_unordered.rs":"c667880f9e43e07c8b3f09f5c550d06f4f4bda59cb774560785f689709296a10","tests/inspect.rs":"d08edcd38e0ec597e5ff9a04ad2c1aa1074a41c84070dc65e224e862a8613a32","tests/io_read_exact.rs":"250a3c900f63d0aaf225ad28b6c3222caac9873a0eae2a3f17d1a6d288c3ac07","tests/oneshot.rs":"492561e9b510488b8b035041006ae2ca35968a15f150d8343ad73decc7b147a6","tests/recurse.rs":"3b72759ed2a0f81d2586d6768b21debe2783755b4137877dac54913f3a7ef623","tests/shared.rs":"8a7bc4f9784f8bc193e5e6232a0132890beecb6c2991595aaa762296e0dc4026","tests/split.rs":"84565f5db096a5b7446acb241a45bcf5688a4e4018b53f67df63adf7d5e9d615","tests/support/assert.rs":"cdd71f2cc2924d12f7f10df4c523125fb54e37f93f7f8525fb460861fbdd0843","tests/support/counter_waker_context.rs":"f05429a517cc20d3f99c2f0cccbe819b2adba42c1753a0fbfbe84423403ca244","tests/support/delayed.rs":"dee476fd065766e75eb08c9698c7b2b515bc0603becd0b059f56c404d862ff3b","tests/support/mod.rs":"fcfcc5ba5b2ff64571fe77ec316e79775fef6f4f455a66d801a0497a8364ee5e","tests/support/noop_waker_context.rs":"0e1245ec9390ea28c856142564e9cc20c568f938c322973869df6536fe3966b9","tests/support/panic_executor.rs":"0a098fee1dce09b7ec1152bea85cf922a7819a2e84614fd2bc19d449507b10f7","tests/support/panic_waker_context.rs":"e62cfb83db4b60b5a519e48ef7ad2580f6ed1387c39b1c411077ca8ac071b1df","tests/support/run_in_background.rs":"ee9bbad67aaf5a7a9ec4165769dc7eee0f83083bc6b28683020b4513056cfa65","tests/unfold.rs":"ad1584e18de8cfa86908d76274db59b4e1a9cf38035d1f1bafcd5dcba158a5fe","tests_disabled/all.rs":"6f902a5c993915c8d3cf6c5911b1f89cc88719e7e34d1331d7dc2f61f00ab204","tests_disabled/async_await/elisions.rs":"629be3760ef4e40365572f7dff19770b084171eae25019b88c4c2e5280fb189d","tests_disabled/async_await/mod.rs":"b821c40b8a01df25b577dedc76a4c0fab7e3026f2e0f666a33853fb10fb082c8","tests_disabled/async_await/pinned.rs":"c2e32cdd004032457e0b889f0e61ee5d1719603208c14bc99d0d89a126e1dd7d","tests_disabled/async_await/smoke.rs":"baf44520e8e9e39a1093e1769fdce0ebf4e5afcc4abf75f03f072a597b19734c","tests_disabled/async_await_tests.rs":"1782badb827c2822b8d3aba2172222f190eb7b8daf1ef9482240f38c314e29ce","tests_disabled/buffer_unordered.rs":"ad2b1a78b16bd87e412d25d3e387c7cc4495e585619d35c5a2b7087dac376922","tests_disabled/eventual.rs":"fd2456c07be6372e5f35a56db9e5a54eab844dae27c03e86772a8203a2184a76","tests_disabled/future_flatten_stream.rs":"2d922c1cd064f60eacd7aad629c58f32471a927172cbe5c7d1462e99edc46578","tests_disabled/ready_queue.rs":"fb73795ff67f46703bc752371ebc63ce4ef8925de0e11f442f38dacdb7d6c3a8","tests_disabled/select_all.rs":"77dac9d9609f76abfa1078c74cd4643fad2e379f1de43abe46e13e54e8ec20ea","tests_disabled/select_ok.rs":"2fb035c4880ef4851a12e826ca05b9caad4eadc4b50df88a42ea5f66344d5041","tests_disabled/sink.rs":"4a27ebe18f0a51a61c2cf91b5f3d6817c48044cfa54aa422dac1b07997746d04","tests_disabled/stream.rs":"5efa8884ca73b0d7a7d59a0b2aaf2545a743ee8de66d88b1e932fa24c97890ad","tests_disabled/stream_catch_unwind.rs":"a0a41d07f1caf9544e830ac7e5dcfb991c99fdb997b855cb288de74f25c7e1f3","tests_disabled/stream_select_all.rs":"3caf33401e9dbb69dbbc3a6b701fb495bffaccbf3e854fa5a5346a61bb11e193"},"package":"838945f6ad3aa437efca7a33dc08fd966ff5edd8eebfde08ccbdef0fa1996235"}
\ No newline at end of file
+{"files":{"Cargo.toml":"7f75243b3a9f855130572f875986f5cd30918f782b9f0f821c8e251d7f75998c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/lib.rs":"bb88f46de3489a91d85e4fa519202277bfd36378e9f054ebfb8b95efdbe856d6","tests/abortable.rs":"44a213c13c3aa68dc6535bddd8cdfdd9f908dd2ac29db2974bce8340a667abde","tests/async_await_macros.rs":"6619f5eb147fd0231021204e3c0416b5b93545f0fad7ed746d5e70bc00c30aa5","tests/basic_combinators.rs":"2edd82ce0109531df4a1957651ad9a1b3deb1569cb26d3c4cf03f59def1e5bd5","tests/eager_drop.rs":"7c62e39e004a59677c1b3c71724ed00a42190f1eeb697e2391bee05dba59ec1c","tests/fuse.rs":"eb2fba5899b7f5e5c7bc8914e882ba6b8caf9bf694b3b26654a1096b02a600f4","tests/futures_ordered.rs":"e3a01bc02237b7d76760c9d52bb26f954365ba262802ed11c5e32bbede250211","tests/futures_unordered.rs":"c667880f9e43e07c8b3f09f5c550d06f4f4bda59cb774560785f689709296a10","tests/inspect.rs":"d08edcd38e0ec597e5ff9a04ad2c1aa1074a41c84070dc65e224e862a8613a32","tests/io_read_exact.rs":"250a3c900f63d0aaf225ad28b6c3222caac9873a0eae2a3f17d1a6d288c3ac07","tests/oneshot.rs":"492561e9b510488b8b035041006ae2ca35968a15f150d8343ad73decc7b147a6","tests/recurse.rs":"3b72759ed2a0f81d2586d6768b21debe2783755b4137877dac54913f3a7ef623","tests/shared.rs":"ef223b43ff05f07387b4f7f477088a83d72495a12b67ada53b69a82087f4fa9e","tests/split.rs":"84565f5db096a5b7446acb241a45bcf5688a4e4018b53f67df63adf7d5e9d615","tests/support/assert.rs":"cdd71f2cc2924d12f7f10df4c523125fb54e37f93f7f8525fb460861fbdd0843","tests/support/counter_waker_context.rs":"f05429a517cc20d3f99c2f0cccbe819b2adba42c1753a0fbfbe84423403ca244","tests/support/delayed.rs":"dee476fd065766e75eb08c9698c7b2b515bc0603becd0b059f56c404d862ff3b","tests/support/mod.rs":"fcfcc5ba5b2ff64571fe77ec316e79775fef6f4f455a66d801a0497a8364ee5e","tests/support/noop_waker_context.rs":"0e1245ec9390ea28c856142564e9cc20c568f938c322973869df6536fe3966b9","tests/support/panic_executor.rs":"6ba83b37165dcffc5183f02e64911593c3ffffc974e03d480d2de20315f546e1","tests/support/panic_waker_context.rs":"e62cfb83db4b60b5a519e48ef7ad2580f6ed1387c39b1c411077ca8ac071b1df","tests/support/run_in_background.rs":"ee9bbad67aaf5a7a9ec4165769dc7eee0f83083bc6b28683020b4513056cfa65","tests/unfold.rs":"ad1584e18de8cfa86908d76274db59b4e1a9cf38035d1f1bafcd5dcba158a5fe","tests_disabled/all.rs":"6f902a5c993915c8d3cf6c5911b1f89cc88719e7e34d1331d7dc2f61f00ab204","tests_disabled/async_await/elisions.rs":"629be3760ef4e40365572f7dff19770b084171eae25019b88c4c2e5280fb189d","tests_disabled/async_await/mod.rs":"b821c40b8a01df25b577dedc76a4c0fab7e3026f2e0f666a33853fb10fb082c8","tests_disabled/async_await/pinned.rs":"c2e32cdd004032457e0b889f0e61ee5d1719603208c14bc99d0d89a126e1dd7d","tests_disabled/async_await/smoke.rs":"baf44520e8e9e39a1093e1769fdce0ebf4e5afcc4abf75f03f072a597b19734c","tests_disabled/async_await_tests.rs":"1782badb827c2822b8d3aba2172222f190eb7b8daf1ef9482240f38c314e29ce","tests_disabled/buffer_unordered.rs":"ad2b1a78b16bd87e412d25d3e387c7cc4495e585619d35c5a2b7087dac376922","tests_disabled/eventual.rs":"fd2456c07be6372e5f35a56db9e5a54eab844dae27c03e86772a8203a2184a76","tests_disabled/future_flatten_stream.rs":"2d922c1cd064f60eacd7aad629c58f32471a927172cbe5c7d1462e99edc46578","tests_disabled/ready_queue.rs":"fb73795ff67f46703bc752371ebc63ce4ef8925de0e11f442f38dacdb7d6c3a8","tests_disabled/select_all.rs":"77dac9d9609f76abfa1078c74cd4643fad2e379f1de43abe46e13e54e8ec20ea","tests_disabled/select_ok.rs":"2fb035c4880ef4851a12e826ca05b9caad4eadc4b50df88a42ea5f66344d5041","tests_disabled/sink.rs":"4a27ebe18f0a51a61c2cf91b5f3d6817c48044cfa54aa422dac1b07997746d04","tests_disabled/stream.rs":"5efa8884ca73b0d7a7d59a0b2aaf2545a743ee8de66d88b1e932fa24c97890ad","tests_disabled/stream_catch_unwind.rs":"a0a41d07f1caf9544e830ac7e5dcfb991c99fdb997b855cb288de74f25c7e1f3","tests_disabled/stream_select_all.rs":"3caf33401e9dbb69dbbc3a6b701fb495bffaccbf3e854fa5a5346a61bb11e193"},"package":"38810750d882eaa4be290c295c70230e1e724ae6c594261721fb51073cbbb6d8"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-preview/Cargo.toml b/rustc_deps/vendor/futures-preview/Cargo.toml
index d3880cc..45338ea 100644
--- a/rustc_deps/vendor/futures-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-preview/Cargo.toml
@@ -14,11 +14,11 @@
 
 [package]
 name = "futures-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "An implementation of futures and streams featuring zero allocations,\ncomposability, and iterator-like interfaces.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures"
 readme = "../README.md"
 keywords = ["futures", "async", "future"]
 categories = ["asynchronous"]
@@ -29,27 +29,27 @@
 [lib]
 name = "futures"
 [dependencies.futures-channel-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-executor-preview]
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-io-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-sink-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-util-preview]
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 default-features = false
 [dev-dependencies.pin-utils]
 version = "0.1.0-alpha.1"
diff --git a/rustc_deps/vendor/futures-preview/src/lib.rs b/rustc_deps/vendor/futures-preview/src/lib.rs
index 26b94f7..e2bc50a 100644
--- a/rustc_deps/vendor/futures-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-preview/src/lib.rs
@@ -28,10 +28,9 @@
 #![warn(missing_docs, missing_debug_implementations)]
 #![deny(bare_trait_objects)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures")]
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures")]
 
 #![cfg_attr(feature = "nightly", feature(cfg_target_has_atomic))]
-#![cfg_attr(feature = "nightly", feature(use_extern_macros))]
 
 #[doc(hidden)] pub use futures_util::core_reexport;
 
@@ -92,7 +91,7 @@
     };
 
     #[cfg(feature = "tokio-compat")]
-    pub use futures_util::compat::TokioDefaultExecutor;
+    pub use futures_util::compat::TokioDefaultSpawn;
 }
 
 #[cfg(feature = "std")]
@@ -132,13 +131,13 @@
     //!
     //! There are two ways to spawn a task:
     //!
-    //! - Spawn onto a "default" execuctor by calling the top-level
-    //!   [`spawn`](crate::executor::spawn) function or [pulling the executor
-    //!   from the task context](crate::task::Context::executor).
-    //! - Spawn onto a specific executor by calling its
-    //!   [`spawn_obj`](crate::executor::Executor::spawn_obj) method directly.
+    //! - Spawn onto a "default" spawner by calling the top-level
+    //!   [`spawn`](crate::executor::spawn) function or [pulling the spawner
+    //!   from the task context](crate::task::Context::spawner).
+    //! - Spawn onto a specific spawner by calling its
+    //!   [`spawn_obj`](crate::executor::Spawn::spawn_obj) method directly.
     //!
-    //! Every task always has an associated default executor, which is usually
+    //! Every task always has an associated default spawner, which is usually
     //! the executor on which the task is running.
     //!
     //! # Single-threaded execution
@@ -147,8 +146,8 @@
     //! it spawns) entirely within a single thread via the
     //! [`LocalPool`](crate::executor::LocalPool) executor. Aside from cutting
     //! down on synchronization costs, this executor also makes it possible to
-    //! execute non-`Send` tasks, via
-    //! [`spawn_local_obj`](crate::executor::LocalExecutor::spawn_local_obj).
+    //! spawn non-`Send` tasks, via
+    //! [`spawn_local_obj`](crate::executor::LocalSpawn::spawn_local_obj).
     //! The `LocalPool` is best suited for running I/O-bound tasks that do
     //! relatively little work between I/O operations.
     //!
@@ -160,7 +159,7 @@
     pub use futures_executor::{
         BlockingStream,
         Enter, EnterError,
-        LocalExecutor, LocalPool,
+        LocalSpawn, LocalPool,
         ThreadPool, ThreadPoolBuilder,
         block_on, block_on_stream, enter,
     };
@@ -195,7 +194,7 @@
 
         FutureExt,
         FlattenStream, Flatten, Fuse, Inspect, IntoStream, Join, Join3, Join4,
-        Join5, Map, Then, WithExecutor,
+        Join5, Map, Then, WithSpawner,
     };
 
     #[cfg(feature = "std")]
@@ -257,7 +256,7 @@
 
     pub use crate::future::{self, Future, TryFuture, FutureExt, TryFutureExt};
     pub use crate::stream::{self, Stream, TryStream, StreamExt, TryStreamExt};
-    pub use crate::task::{self, Poll, ExecutorExt};
+    pub use crate::task::{self, Poll, SpawnExt};
     pub use crate::sink::{self, Sink, SinkExt};
 
     #[cfg(feature = "std")]
@@ -332,6 +331,7 @@
         TryStreamExt,
         TryNext, TryForEach, ErrInto,
         TryFold, TrySkipWhile,
+        IntoStream,
         // ToDo: AndThen, ErrInto, InspectErr, MapErr, OrElse
     };
 
@@ -360,7 +360,7 @@
     //! executors or dealing with synchronization issues around task wakeup.
 
     pub use futures_core::task::{
-        Context, Poll, Executor,
+        Context, Poll, Spawn,
         Waker, LocalWaker, UnsafeWake,
         SpawnErrorKind, SpawnObjError, SpawnLocalObjError,
     };
@@ -370,7 +370,7 @@
         Wake, local_waker, local_waker_from_nonlocal
     };
 
-    pub use futures_util::task::{ExecutorExt, SpawnError};
+    pub use futures_util::task::{SpawnExt, SpawnError};
 
     #[cfg(feature = "std")]
     pub use futures_util::task::{
diff --git a/rustc_deps/vendor/futures-preview/tests/shared.rs b/rustc_deps/vendor/futures-preview/tests/shared.rs
index 91d3f41..8476938 100644
--- a/rustc_deps/vendor/futures-preview/tests/shared.rs
+++ b/rustc_deps/vendor/futures-preview/tests/shared.rs
@@ -88,7 +88,7 @@
 #[test]
 fn peek() {
     let mut local_pool = LocalPool::new();
-    let exec = &mut local_pool.executor();
+    let spawn = &mut local_pool.spawner();
 
     let (tx0, rx0) = oneshot::channel::<i32>();
     let f1 = rx0.shared();
@@ -108,8 +108,8 @@
     }
 
     // Once the Shared has been polled, the value is peekable on the clone.
-    exec.spawn_local_obj(LocalFutureObj::new(Box::new(f1.map(|_| ())))).unwrap();
-    local_pool.run(exec);
+    spawn.spawn_local_obj(LocalFutureObj::new(Box::new(f1.map(|_| ())))).unwrap();
+    local_pool.run(spawn);
     for _ in 0..2 {
         assert_eq!(*f2.peek().unwrap(), Ok(42));
     }
diff --git a/rustc_deps/vendor/futures-preview/tests/support/panic_executor.rs b/rustc_deps/vendor/futures-preview/tests/support/panic_executor.rs
index 1d4b503..9af8214 100644
--- a/rustc_deps/vendor/futures-preview/tests/support/panic_executor.rs
+++ b/rustc_deps/vendor/futures-preview/tests/support/panic_executor.rs
@@ -1,9 +1,9 @@
 use futures::future::FutureObj;
-use futures::task::{Executor, SpawnObjError};
+use futures::task::{Spawn, SpawnObjError};
 
 pub struct PanicExecutor;
 
-impl Executor for PanicExecutor {
+impl Spawn for PanicExecutor {
     fn spawn_obj(&mut self, _: FutureObj<'static, ()>) -> Result<(), SpawnObjError> {
         panic!("should not spawn")
     }
diff --git a/rustc_deps/vendor/futures-sink-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-sink-preview/.cargo-checksum.json
index 0c97cfa..5beb998 100644
--- a/rustc_deps/vendor/futures-sink-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-sink-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"a04b1e73d9f220ae605ab2ce5f73ff5a26bb1aa3ff9750860fbe4805979cdc1b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/channel_impls.rs":"0ea438302b2d87b0600d55b2d67022d7ab83ea86e466fcfbdb0c326d48b86edb","src/lib.rs":"b6d064abc1c501a06edb9e809940b02aa87705333a12583fe77f7e86d0f4ab9a"},"package":"97d762ff5f860693e8ed52acb56305593b453ea9df66fb2b3c1184f2f6ada0fd"}
\ No newline at end of file
+{"files":{"Cargo.toml":"6bf01fb49226a4a2d2d30785bf8f8d6ddbbbfad030cc1f24461bba0bf1a0f652","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/channel_impls.rs":"0ea438302b2d87b0600d55b2d67022d7ab83ea86e466fcfbdb0c326d48b86edb","src/lib.rs":"ed7e3e4cff358215dad40fcf402080fcae7a7d3de950b4f501712dfd4609e8f0"},"package":"5188c94f2a7ab70f6b51fad1de15cf1375acd9cc7ee5c9f2207a3860ea39e41c"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-sink-preview/Cargo.toml b/rustc_deps/vendor/futures-sink-preview/Cargo.toml
index 91a0456..b9b1230 100644
--- a/rustc_deps/vendor/futures-sink-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-sink-preview/Cargo.toml
@@ -14,12 +14,12 @@
 
 [package]
 name = "futures-sink-preview"
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "The asynchronous `Sink` trait for the futures-rs library.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_sink"
-license = "MIT/Apache-2.0"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_sink"
+license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
 
@@ -31,11 +31,11 @@
 default-features = false
 
 [dependencies.futures-channel-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [features]
diff --git a/rustc_deps/vendor/futures-sink-preview/src/lib.rs b/rustc_deps/vendor/futures-sink-preview/src/lib.rs
index e7f102b..ebe193c 100644
--- a/rustc_deps/vendor/futures-sink-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-sink-preview/src/lib.rs
@@ -5,17 +5,10 @@
 
 #![no_std]
 #![warn(missing_docs, missing_debug_implementations)]
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-doc/0.3.0-alpha.2/futures_sink")]
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_sink")]
 
 #![feature(pin, arbitrary_self_types, futures_api)]
 
-#[cfg(feature = "std")]
-extern crate std;
-
-extern crate futures_core;
-#[cfg(feature = "std")]
-extern crate futures_channel;
-
 macro_rules! if_std {
     ($($i:item)*) => ($(
         #[cfg(feature = "std")]
@@ -243,8 +236,6 @@
 }
 
 #[cfg(feature = "either")]
-extern crate either;
-#[cfg(feature = "either")]
 use either::Either;
 #[cfg(feature = "either")]
 impl<A, B> Sink for Either<A, B>
diff --git a/rustc_deps/vendor/futures-util-preview/.cargo-checksum.json b/rustc_deps/vendor/futures-util-preview/.cargo-checksum.json
index bc4268d..8c9894b 100644
--- a/rustc_deps/vendor/futures-util-preview/.cargo-checksum.json
+++ b/rustc_deps/vendor/futures-util-preview/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"9b30bea38b4c9a96317129ddd83c542e5fbd4fe6e31ee7b0432697653dce259f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/futures_unordered.rs":"2ab34dd577f004adbbbac970ae6a2e2dc50057b751a14e9d47a21e267bb2bfd0","benches_disabled/bilock.rs":"a0c1728cbcb0da580482078c13d5499c45697873a8f956e3d5eca2a75bea218d","bilock.rs":"17d56a1e9bd8bc7437088ec6d2e3572604a1856253a30737f0c4f1a1ba2b338d","src/async_await/join.rs":"354e0374e21d3ad8c30a1163f3c1861c2c10d39752c3890190905d7e17032f1a","src/async_await/mod.rs":"cbe1625f1d1580b1212f344d56ad9fafb58c864afee423aec93de18aec9aba83","src/async_await/pending.rs":"7f74832599caba91032f42c11f408a8fe69ae74b3796f1571691499f6eddc180","src/async_await/poll.rs":"13be7386b5bdf271ed9f50c90fdcfbc788014d0fec3ebea88e63f1f7d87e887f","src/async_await/select.rs":"4b96ed1e9abf27c30f227e80785a79c111100382ef0d3dfabb6546d5fc72ae3d","src/async_await/spawn.rs":"9acf2912a9a94c6667b9dfe289e59c15cf9e25c4b7fb18abed5c62ecaf467ed0","src/compat/compat.rs":"477ab44ebbc0782f5dbd0f176b05306fa1f5f3797ffe54fb70225876163bc9a5","src/compat/compat01to03.rs":"2d5b2790394d1e31daf5157592728ed8c358247390c5faddd79d20b62910e84c","src/compat/compat03to01.rs":"3e7fb547f84942eea52d0e5d93cc03fa0881b227778caeb3d6841d9366ee10b1","src/compat/executor.rs":"a509c576d9fb5d09631aafeeada70fa3510f4ba45997a4746d6e65592e2b1f1d","src/compat/future01ext.rs":"a16a6cb28c0d1785502c179a0acc71e63f8240e0fe208b6262b0ec78c2ce7dd4","src/compat/mod.rs":"8c21655bf8a3608e67e0153746d017c69262de7d270a44ee0daaf88fa70fc4ca","src/compat/stream01ext.rs":"398e0f032e08e5a00504a85d74e9e51735b77a68b55b6780d7d4f1e810846585","src/compat/tokio.rs":"ba8af0c19777dc5100c995d779986b1ffe2a9cfbb43fb1276430e0976add1b3f","src/future/abortable.rs":"5e476a4e5547b3940e15805b10f2a92078f084ba039e6732959bc40bd4445c89","src/future/catch_unwind.rs":"e805686bafb25d7fc11a596ee650fa291769190e280b01250a82bf239ac1e174","src/future/chain.rs":"6d1c15d3df08ab7b10f70e471e509b99e1ee424e6890d3b350af11e6ecb46826","src/future/disabled/join_all.rs":"2a2f13df20ef6fe771b4dad9553292be2542c9359728171f75bea800ea737903","src/future/disabled/select.rs":"7192b20e6baeb61e55815f58a1b3f0b81d8238361694105f9d1c9c7d32ee31ec","src/future/disabled/select_all.rs":"be23a3e4bd25fddb68544d82fbdb1807f5728642777a2bbfccc80f237d875de3","src/future/disabled/select_ok.rs":"9b81f1ea1e9664298638cf66a7e744b7dd7f38f5eb622f938f22624a43e11ab2","src/future/empty.rs":"0be261f1c9fbe00d5d514c715e1b8e7332b8c422abc5d7076140478f19b00c7b","src/future/flatten.rs":"6a5d7f2e595fa174f723ecde3687767ba41e7e11ea2a615b08a8dd9123c48c7e","src/future/flatten_stream.rs":"afa9f4c88954f54fc248d60efd5b3663640fdee50c735057acc3b55c8ff54ccd","src/future/fuse.rs":"56fe6b588b52247f2679b35f1e43b4cc2048c918d0e93b83093e0b5b51bd5817","src/future/inspect.rs":"5fc9ef9b46b3ebee716786c58b3773a8c7ddd4df582080c1753a6d31beba17d4","src/future/into_stream.rs":"6904259cebcb18a7695bbdbe93439557ffc5ee40e73585b50738d7ce2bd7d3b9","src/future/join.rs":"911731c7d82495509310a96e8b3b78223db1c15b8ce3507129294050b94d248a","src/future/lazy.rs":"9a9007295067035151f8be4ff3ef8a9ad21959b28e9d089d067cdb2df38543bb","src/future/map.rs":"3f346e2a440c4ba19c5f1820a78511c2bcd4522ac6ea0933e747f7a1bd5ff3d1","src/future/maybe_done.rs":"73ac3a6d1f028e70165fa94160c4b3869b25eb49be3a19e98922ddeb88061e88","src/future/mod.rs":"c169d23ef0f8e9a78a75d6400856a3f15c3538c9ca232713f060db251425e1ba","src/future/option.rs":"edfbed1c9d86fdf79125616a585cd28c1fee44c43e2ac0b74f8fab75b82a168e","src/future/poll_fn.rs":"3e6eb487362a3365fa0bca9f52ee09faf75d36e671c418c8ab5e898867872f22","src/future/ready.rs":"432289036e83d982ff429107872b0724e5f1e20cf8745f70c6cf1741e53fe5d1","src/future/shared.rs":"b28b38693488e152cea8dc3c09d9a1f5864c744b6fb5b1c489e9a9d5a0309bb8","src/future/then.rs":"ff4fe315a4fd856613095037a628aa2f23d4faa92aebd3080ab968d1ec7c8515","src/future/unit_error.rs":"20f7f7b21e8b0b54f00421f7b269d27d418f3e8496cfbdb080f32c84808e3a21","src/future/with_executor.rs":"73954d7786f960e8037e876d9b6b2803c99108698e8cc21d52634b0134c7eb41","src/io/allow_std.rs":"9dc2a1115ae78365280f8d16ca83e267d57bb6723dd847e9007b9b4f3921d3cb","src/io/close.rs":"837ab9b4db33ef9203077b970a2d930f5a9d7846cfdc4739b06769273050472c","src/io/copy_into.rs":"35aca20a9ab7affd38a1b6a1be6bae94c4562a03899915b73294efb5b568500e","src/io/disabled/lines.rs":"863d2992575d95c4171abe167b2203d5cdab7b5e60924a9bce3969738c3ef5cf","src/io/disabled/read_until.rs":"b5771d78aaea0b6d7e5efa3c3cbbc745227ef008f7c9a3a8d6803ad3917c2934","src/io/flush.rs":"ee4a4f898f6ee545f2d97df3d16776922b209336ce46f8cb1dee6548373a420a","src/io/mod.rs":"73df813fd765cf9020a5afe77b425caa04fc63da81ac1c7eb330ebbcf9cda4c1","src/io/read.rs":"4d22a16444b41a7e8f549b6ac7eb388535837f9388f1b3488359e11c2993ef5c","src/io/read_exact.rs":"10bf6e0756aa28adede0bbc830fd213a8070ca4138f16234c9d8d8ab685c43a2","src/io/read_to_end.rs":"cd474cdbcfe6c74e3a373efbb3430ea40158290f4541962bb07f991e51bcdf5c","src/io/split.rs":"f24bd14e6dca6aa76194a0c4ba744e0de72039e143ddfab7e415220bf2543099","src/io/window.rs":"e6fca0e2e8d99c76b4fe3ab9956997c6fd8167005d4dec01cae0c7879203e3c5","src/io/write_all.rs":"2c9414b3b99a717d18c0f307cfbbe4069b432dd7bb40a91949c2d61cc95aa0f7","src/lib.rs":"47f9aed3d25d6fd619b5eef17121051ce3ecfce82c7db93160d89dcb8476c1f0","src/lock.rs":"8bd2296318daa12a67377237089e2baa33e5354fe6744a6e12e3033664a16a59","src/macros/mod.rs":"8a71fe88cb0d13cac1cdc36083c2d7c2683699d5adaf62978f1dccf6ed7e7365","src/macros/poll.rs":"bce71e2fafd7453a551d66d48dfc7a1ab552adc68e85aaa00362aeffd4c89ac1","src/sink/buffer.rs":"939e9817d21d25b30f3c6099359b5abab22f5334d986a8ed1c17c13b90cbe4c6","src/sink/close.rs":"3e1c3d6a1f6059bfde6c914231b61483496c16ad76e02c6026b85ea91ffbda33","src/sink/drain.rs":"cf45b0eccd7f27dc49ba94e197514ac8b7e2a9f2ff0f5cc8a4f48727e2112a68","src/sink/err_into.rs":"44e34b2eb63b913888c8d34c2104adbe333e9f4a2f2e1b42254f1fcf679a84c0","src/sink/fanout.rs":"a9e16a821d9c3d1da93407cdd5356db212db202cc43f8aae3714dfa54ec32286","src/sink/flush.rs":"684b223d40be32a112820abf333d156cf35b3374bce8a67b323ba1c1bd68f22f","src/sink/map_err.rs":"7284737bf953567394c5b48c884119143f298ab2918857c2f418f337ebf7beb0","src/sink/mod.rs":"c116cfa04f80ef3d5f6ccdd0c9048d6daa10dcf09c75ef70da32b4f3705ffcd3","src/sink/send.rs":"40ef5a553dfcd198325861efad0e507691117830db4b3e7b8bb83372d3ecc010","src/sink/send_all.rs":"78ebcba64d0fb1c788bbbc0ec6de5a5e5b138f89a8a8d26c579189e254228920","src/sink/wait.rs":"b2d016ad492a04d589c6766f7761b1c3e977cac17344feefe932cbd4d804ac53","src/sink/with.rs":"415b14821be847306605778b00b7304fe93dc2ab5c9070698f5a7ea06d82eabe","src/sink/with_flat_map.rs":"d9d111c8b06c63caba317325ed7f932a8fbe1325120e1f7128883f04e44fbb79","src/stream/buffer_unordered.rs":"0268de438b17b9680290ab5924780938e6364ef0dde4ab9b503d27ef12d76164","src/stream/buffered.rs":"2c266ade17ccb09e3dc72288c3b7bd57b9ec1c9f95560f6aef3f081de8857330","src/stream/catch_unwind.rs":"d38c7380534d8a8a6b6603c4c5dfa75c8864ff42955eb29f6c7583c9c3576069","src/stream/chain.rs":"423d18962c736ff7451790b1945f9340616d67bb94797c75a8e49b78e46170f9","src/stream/chunks.rs":"e27df0e798a12e6b646dd3690777f0d5d8befc639897b2faede76ff89810c579","src/stream/collect.rs":"6b9edb286ca183608b25e679c2d848b2eff8a7f968e0918a7755a52b33415b01","src/stream/concat.rs":"5c0b32b4207263a791535797478bc03403eecb346b6985a5a8464c5237f0e8d3","src/stream/disabled/select_all.rs":"679bad489bc69f9b5a65ee7fa2f4020b9aa95ee89b183aa3de28e40ce747f61c","src/stream/empty.rs":"6af220c70d84906e6bcbe29d72c7f23e0f24ca0effaacb0b910b8875ac5fd5ad","src/stream/filter.rs":"1f50a0d8ea7416980c71333253e948bab07551d800ec74f597a7a6a75d6999e7","src/stream/filter_map.rs":"83c807d0eab7e412961f9ec1a3e47b0a9f37d9d9497f8084d0a6498e05536f07","src/stream/flatten.rs":"74975cc20804b8abc9f0f839961f0b2932a622604160ab127e32048278177c85","src/stream/fold.rs":"b433b930478ec2ceebb3a415724fda7453ab48be25a767d5b8718c805fdb01f3","src/stream/for_each.rs":"273619371cedd6e0be96a9d79c4c3014fec07d02c9aa7f649b1b10bfc2991780","src/stream/for_each_concurrent.rs":"bf9963cdcf8ed7eed9056d57acca669facb9050c108444cf1790a3148d3f8b4d","src/stream/forward.rs":"84086532f00ac7b88e82cfc9eefc678993cf1d74d3d6d129ab811dab05816c3c","src/stream/fuse.rs":"737b307586f9e4103b1d2a55abd538eb07bf744421d059322ee681ce06b50a58","src/stream/futures_ordered.rs":"1784f05d995ca4b7a3441ab3d7e98bf5c1a23000e19cc870aadf16f4c6ba5ec5","src/stream/futures_unordered/abort.rs":"bdfece9f91accafd5122be36d628c37c5b219ac0eecec181267840fbb1e95a45","src/stream/futures_unordered/iter.rs":"f9fd536e11af403246c523580eab76e2605a18cbb840b085199aed80ad6ffe6f","src/stream/futures_unordered/mod.rs":"5cb6d31d5400a68b7d4be7f0fb22d9fc3a34c5b06fa8764fafa7f4d1cee6496a","src/stream/futures_unordered/ready_to_run_queue.rs":"81382095c3e08ee909e07893de37350bd35e353a034652569706b5e0b2d7c8cb","src/stream/futures_unordered/task.rs":"2b236e105a80ad0bbddd8f27f501a89f46e1a572b9cb210273879c60a34af66d","src/stream/inspect.rs":"e7026d4a4d39ea4b2789307daf22c43179dde81cd30c71638a0e491661fc0b27","src/stream/into_future.rs":"0196750ee5646284015ded133f793e5a705055f9725ab1253c1e4077022a0021","src/stream/iter.rs":"a46e5ef875f06dd2d616c454b1f5f4b3be216e4e42b9f42bf0f229aa6503a7c5","src/stream/map.rs":"461fe52ff28fe1e4b82382ef3987c0f82cb11d44253b2d16403019e585936bff","src/stream/mod.rs":"59a7893efcc802323985fffde2969fdf595fa186796d6d9077e94ad738e0f2df","src/stream/next.rs":"c5d9b5eeb66ac8ca329a5ee80df8075e03cc32f59dde1be4a6c96486550f96a9","src/stream/once.rs":"768911fc1baa0929e311143dbb7153ccbb7edc2640d1abbff3e23c6ee9fcf575","src/stream/peek.rs":"2562617a9b0fab92d7a4964703ad6908f867e475affcabebdd1f04f79112b20f","src/stream/poll_fn.rs":"3db1cbeb1db9ef45c37bfe0185aa909b0df4422a679248f588da9634398fab10","src/stream/repeat.rs":"822752edcc3f9898e3ae0f413021043525549112ca0f67a30b4abbd9e4725298","src/stream/select.rs":"8ca2ffd73310199e4c54f89deaa34078af8befc33870b4018821f8fd3d3772f3","src/stream/skip.rs":"9d37ef11d09a19d7ec785f85f98b96437f2e01a49f547fbf071ce75570833893","src/stream/skip_while.rs":"14934401976f00db15eddb4be0e036f2c5a0d6bc5a77e0f6a49d977b7b3e5c4e","src/stream/split.rs":"9b9d8c6c0ee635bdd171d79bcfad980ed6457eb3fcd2920e155a4559cdee16c8","src/stream/take.rs":"1f2461e03f0cae85b181705386ba8dbfcc80f4fb16d720e5a741368b652cf5e9","src/stream/take_while.rs":"36886a386b1b9b2bdbdbbe3245ea6f68ba6fe83d8038373f2f607af5a3d5cda0","src/stream/then.rs":"89255c8c16a1e356a61b2e34f34a95fc9d135cd4b99f4334ee85be22cf596d29","src/stream/unfold.rs":"89715419a04597b936137d0f9508b25d4b95126b574ffe3e1655d9fe4645afec","src/stream/zip.rs":"2b927a3451f8f163a1ed2e18b4814f81a02f7364fc1d90fbd67136c43ec2d7c4","src/task/atomic_waker.rs":"5494ea022ca074d6676f3e4960bccbc5d8ea05eb1e0387b9464cf27b5d11d371","src/task/executor/mod.rs":"2f24cbc106cc1769042a8d3f4153fbed4853c8a1d4492e9030db7098b285e686","src/task/executor/spawn_error.rs":"414b9d0281db705783850fcee2a9970bda8cad0a56bcb29853567ec76bbbdd5e","src/task/executor/spawn_with_handle.rs":"6f575490d6e1b137c4213bead8f2910ba9114aeb9e7679af39ed5ff33c00cee3","src/task/local_waker_ref.rs":"bc94638dd60deffc696290cb2e779a023a5efaed6830b30988604f16e2842bbf","src/task/mod.rs":"3bceda104702f04f77c11deaaccdd2cc433eb2512310c23a835612b1bb671688","src/try_future/and_then.rs":"01efdb643bb139af7faba43099ee479bdc188b46606616dc07e2220e8ff6d298","src/try_future/err_into.rs":"699b7a43d77ca55d6aa3de7e5c66b91363c8c3964d294ccf936116c520db28cc","src/try_future/flatten_sink.rs":"000d63b99c729c9f285f51d5a86887fcaa43027871efaa49fac51fdaa8af3f6d","src/try_future/into_future.rs":"1f54ed9120ec1cc2f5718ffdebe4cf13a154d30403208bd9e4259b2c87a3138f","src/try_future/map_err.rs":"353e29bde66f448a77d2038167bc7c1ace16c1312f2bbd30249d715d212f05ab","src/try_future/map_ok.rs":"abca4f6c25ec48542e878b8b2292455b4aea34b2ab88808f928306cb03e7c179","src/try_future/mod.rs":"b0910c69619f0d9822e148a5a51da337203729f92487bcf68a2ac01619bb82da","src/try_future/or_else.rs":"03a389c9503504dda272cdbae6a586d63879596cc786062b93da6dde91df2ad8","src/try_future/try_chain.rs":"830d7625c0df9247c98aea1918d7154b92b2ab1a852400b352c5d1ac492d856f","src/try_future/try_join.rs":"8ff172c4217912d30b289102bf05ac2d51378b37a5aa3846dd2af6dd624e8c49","src/try_future/unwrap_or_else.rs":"3a6e6177a47b6c97450b02d341475e5503e87d6e90f722e7882a6c4ad96cefa6","src/try_stream/err_into.rs":"498c6c5f93667c44b54f7a124e78980e08be34b7877a245c55691e0df7e8435d","src/try_stream/into_stream.rs":"eca213060a273e2bd912f3aa8ace07fbc326d5629c6ed0cc7965e60651fdbcfc","src/try_stream/map_err.rs":"260e071107db5c0398cf9075bf6d38d5a25142031bd5411534c485e79c9d0c91","src/try_stream/map_ok.rs":"4730c627056085db4a0f2e4d383856f2ecc07a586dadffea00d8264269ea73a9","src/try_stream/mod.rs":"349ac677d92d797fc67427900a568cf274f2eee95c2678ea5355d8bb38e089eb","src/try_stream/try_buffer_unordered.rs":"39c381e6886cbbbdc3ba3a23e5e3d17c3e9f0dbae323bf6f75a46e6b6c7f6e46","src/try_stream/try_collect.rs":"0e41308cf3da8c34dd1a634c7cc0eb76aaa98573533baf620cbeca09fd3bcac5","src/try_stream/try_filter_map.rs":"fb7efc5cb37559b659f12e6c4eb30f466eb43e11253165c2b71df0e5c9c7ce90","src/try_stream/try_fold.rs":"550db77bdec07302fc764114f45a9e26bbf443c63a6d53fdde8a4c4c29d4dec1","src/try_stream/try_for_each.rs":"d1dd1fc2abf6d9217c3723dccc1d1111827ef60e1c4bcfefab55c78b5bb584c5","src/try_stream/try_for_each_concurrent.rs":"37aa60371ebe9349a6bb0089cf96c3da351bc3583ea7bb4068e36edb58416b43","src/try_stream/try_next.rs":"6a9ebc15065207e429e5fee46361ddcae2908fa75d931c12b878e7e57a831ddc","src/try_stream/try_skip_while.rs":"2df8b99540ccca1be91cbaefee90d6265061d84dc4d45cf815d3676aeb308bf2"},"package":"4dc918a659b54ecaed8eca3e38fe0216ed2584e5eddfc7a21df8944d6749f397"}
\ No newline at end of file
+{"files":{"Cargo.toml":"fff340a8a51cb34b406160cadcb8f94030bcf1b99203f38e9f070a7f2247295a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","benches/futures_unordered.rs":"2ab34dd577f004adbbbac970ae6a2e2dc50057b751a14e9d47a21e267bb2bfd0","benches_disabled/bilock.rs":"a0c1728cbcb0da580482078c13d5499c45697873a8f956e3d5eca2a75bea218d","bilock.rs":"17d56a1e9bd8bc7437088ec6d2e3572604a1856253a30737f0c4f1a1ba2b338d","src/async_await/join.rs":"354e0374e21d3ad8c30a1163f3c1861c2c10d39752c3890190905d7e17032f1a","src/async_await/mod.rs":"cbe1625f1d1580b1212f344d56ad9fafb58c864afee423aec93de18aec9aba83","src/async_await/pending.rs":"7f74832599caba91032f42c11f408a8fe69ae74b3796f1571691499f6eddc180","src/async_await/poll.rs":"13be7386b5bdf271ed9f50c90fdcfbc788014d0fec3ebea88e63f1f7d87e887f","src/async_await/select.rs":"4b96ed1e9abf27c30f227e80785a79c111100382ef0d3dfabb6546d5fc72ae3d","src/async_await/spawn.rs":"05a75fabfb8762de888e60b89465edca1cc12e599ca264a906685f62f923b06f","src/compat/compat.rs":"4a82128b3f02756c0e48841e13ecb63de20cf322db2b3f887eb703691285151d","src/compat/compat01to03.rs":"2d5b2790394d1e31daf5157592728ed8c358247390c5faddd79d20b62910e84c","src/compat/compat03to01.rs":"7069a32276de968b816ba187fea17b282894c4e854763a024d86f8df5cf021f7","src/compat/executor.rs":"0dc991de7086b333cbb5b8f252280aa4d743616e8c8ff52b0139b5155e7db2f5","src/compat/future01ext.rs":"55717ef70c4bfb3a1b0475668f40b95ec56849ce453af9835d31d3ad6bb1101d","src/compat/mod.rs":"5df145d87a2c1ab1e256f99c7dd2f8bc788a3828624e8f78ccf0d7564226d34d","src/compat/stream01ext.rs":"3f158c63f7414e6cc913108948019bb2b73ac281b8fec6e492fad64c33848cd2","src/compat/tokio.rs":"f515cc05f26ec8a8053476c4c503a62a4af8c14e337e2a601bb384753442d7f9","src/future/abortable.rs":"5e476a4e5547b3940e15805b10f2a92078f084ba039e6732959bc40bd4445c89","src/future/catch_unwind.rs":"e805686bafb25d7fc11a596ee650fa291769190e280b01250a82bf239ac1e174","src/future/chain.rs":"6d1c15d3df08ab7b10f70e471e509b99e1ee424e6890d3b350af11e6ecb46826","src/future/disabled/join_all.rs":"2a2f13df20ef6fe771b4dad9553292be2542c9359728171f75bea800ea737903","src/future/disabled/select.rs":"7192b20e6baeb61e55815f58a1b3f0b81d8238361694105f9d1c9c7d32ee31ec","src/future/disabled/select_all.rs":"be23a3e4bd25fddb68544d82fbdb1807f5728642777a2bbfccc80f237d875de3","src/future/disabled/select_ok.rs":"9b81f1ea1e9664298638cf66a7e744b7dd7f38f5eb622f938f22624a43e11ab2","src/future/empty.rs":"0be261f1c9fbe00d5d514c715e1b8e7332b8c422abc5d7076140478f19b00c7b","src/future/flatten.rs":"6a5d7f2e595fa174f723ecde3687767ba41e7e11ea2a615b08a8dd9123c48c7e","src/future/flatten_stream.rs":"afa9f4c88954f54fc248d60efd5b3663640fdee50c735057acc3b55c8ff54ccd","src/future/fuse.rs":"56fe6b588b52247f2679b35f1e43b4cc2048c918d0e93b83093e0b5b51bd5817","src/future/inspect.rs":"5fc9ef9b46b3ebee716786c58b3773a8c7ddd4df582080c1753a6d31beba17d4","src/future/into_stream.rs":"6904259cebcb18a7695bbdbe93439557ffc5ee40e73585b50738d7ce2bd7d3b9","src/future/join.rs":"911731c7d82495509310a96e8b3b78223db1c15b8ce3507129294050b94d248a","src/future/lazy.rs":"9a9007295067035151f8be4ff3ef8a9ad21959b28e9d089d067cdb2df38543bb","src/future/map.rs":"3f346e2a440c4ba19c5f1820a78511c2bcd4522ac6ea0933e747f7a1bd5ff3d1","src/future/maybe_done.rs":"73ac3a6d1f028e70165fa94160c4b3869b25eb49be3a19e98922ddeb88061e88","src/future/mod.rs":"b83f3a1286453c3871154402b424e04b23b1197d131365c2b0e28e053d93a801","src/future/option.rs":"edfbed1c9d86fdf79125616a585cd28c1fee44c43e2ac0b74f8fab75b82a168e","src/future/poll_fn.rs":"3e6eb487362a3365fa0bca9f52ee09faf75d36e671c418c8ab5e898867872f22","src/future/ready.rs":"432289036e83d982ff429107872b0724e5f1e20cf8745f70c6cf1741e53fe5d1","src/future/shared.rs":"b28b38693488e152cea8dc3c09d9a1f5864c744b6fb5b1c489e9a9d5a0309bb8","src/future/then.rs":"ff4fe315a4fd856613095037a628aa2f23d4faa92aebd3080ab968d1ec7c8515","src/future/unit_error.rs":"20f7f7b21e8b0b54f00421f7b269d27d418f3e8496cfbdb080f32c84808e3a21","src/future/with_spawner.rs":"1aa18c64c8e301d21fb8507fce48075e088f36a7d51bd25c56ff0ae451e9c9ec","src/io/allow_std.rs":"9dc2a1115ae78365280f8d16ca83e267d57bb6723dd847e9007b9b4f3921d3cb","src/io/close.rs":"e3de1d6af3b223c4f23e1f28538d211f32aee32b83622a8abbe368ddc28fb3fd","src/io/copy_into.rs":"5285c77522e636039732d7a48fca1ee71ca8db0e4c2fd15f10691f9f409a5ba4","src/io/disabled/lines.rs":"863d2992575d95c4171abe167b2203d5cdab7b5e60924a9bce3969738c3ef5cf","src/io/disabled/read_until.rs":"b5771d78aaea0b6d7e5efa3c3cbbc745227ef008f7c9a3a8d6803ad3917c2934","src/io/flush.rs":"161cd2f8ef5bdc5ba1961ac19106f0a545263e5b55e30e11dfbc9dcbb5bcd85f","src/io/mod.rs":"aee3c460eb646c436c0eb8702e3630c8fbd514fc9bb49641b81616384c767cfc","src/io/read.rs":"28873220cbb12b3b45e9fa215ae386dc7b9c3a6deec73f1e6eaeef12aee0c9bd","src/io/read_exact.rs":"72b7d30464cae14f8ef52ae7972dfe1a2e5a4caa5736a9eebb3155aa56671a7b","src/io/read_to_end.rs":"e5627a03f57038f38b5d5fe1ff5849f68488cf84aeaabb77cc2a5a02e740c62e","src/io/split.rs":"f24bd14e6dca6aa76194a0c4ba744e0de72039e143ddfab7e415220bf2543099","src/io/window.rs":"e6fca0e2e8d99c76b4fe3ab9956997c6fd8167005d4dec01cae0c7879203e3c5","src/io/write_all.rs":"18222be128ad43c64ccf170d43facea4a5ad940b24c195b77e61653761608062","src/lib.rs":"d5cde9a5949b8890c687ac5d4b337610ea1f687eb84cca4ee8f08b61d6b38f27","src/lock.rs":"8bd2296318daa12a67377237089e2baa33e5354fe6744a6e12e3033664a16a59","src/macros/mod.rs":"8a71fe88cb0d13cac1cdc36083c2d7c2683699d5adaf62978f1dccf6ed7e7365","src/macros/poll.rs":"bce71e2fafd7453a551d66d48dfc7a1ab552adc68e85aaa00362aeffd4c89ac1","src/sink/buffer.rs":"939e9817d21d25b30f3c6099359b5abab22f5334d986a8ed1c17c13b90cbe4c6","src/sink/close.rs":"f5c09f9ffa93cdd737627f461b8344b8627bc9ef5c4b19f2647aff246f6e5b61","src/sink/drain.rs":"cf45b0eccd7f27dc49ba94e197514ac8b7e2a9f2ff0f5cc8a4f48727e2112a68","src/sink/err_into.rs":"44e34b2eb63b913888c8d34c2104adbe333e9f4a2f2e1b42254f1fcf679a84c0","src/sink/fanout.rs":"a9e16a821d9c3d1da93407cdd5356db212db202cc43f8aae3714dfa54ec32286","src/sink/flush.rs":"5fba553b72c8c9b1e6365e83dfe8a3c733057d7f7aeee2a76c40d5ad9614be31","src/sink/map_err.rs":"5a5de1df7682d6b7ddfde89e8de433871d9ff6a525deb8beb86f266ba96b9736","src/sink/mod.rs":"0d7e3ebe54fd8e5437b0543a9779ed5c4c8b544505f990c682d1c463cb2149a0","src/sink/send.rs":"560a9766f1027dd78a6c52310790b15c0ce1a84b7b3f67292bcc60caaa1d2a50","src/sink/send_all.rs":"bb5a4ac75cf8213312e8bcd01c1b48cc702b8ef253d6fa680980251c79e48f02","src/sink/wait.rs":"b2d016ad492a04d589c6766f7761b1c3e977cac17344feefe932cbd4d804ac53","src/sink/with.rs":"a32d406cd2e3adb987f68ebc6ee26077c4a1d113462dddfbeaae89cbefda2018","src/sink/with_flat_map.rs":"160800a87e664aed9272a5a2b77c1d32e448e3a747f795260f920aabfb0c6baf","src/stream/buffer_unordered.rs":"aba13061a85c027270be0e36b809869075cd6fffb80ccc58dffac3c48b0f8ccb","src/stream/buffered.rs":"620c4e4116fafac77713a0da671bddc8416e60a6c7d5ac6d4f145e7a782a0c16","src/stream/catch_unwind.rs":"d38c7380534d8a8a6b6603c4c5dfa75c8864ff42955eb29f6c7583c9c3576069","src/stream/chain.rs":"423d18962c736ff7451790b1945f9340616d67bb94797c75a8e49b78e46170f9","src/stream/chunks.rs":"e27df0e798a12e6b646dd3690777f0d5d8befc639897b2faede76ff89810c579","src/stream/collect.rs":"6b9edb286ca183608b25e679c2d848b2eff8a7f968e0918a7755a52b33415b01","src/stream/concat.rs":"5c0b32b4207263a791535797478bc03403eecb346b6985a5a8464c5237f0e8d3","src/stream/disabled/select_all.rs":"679bad489bc69f9b5a65ee7fa2f4020b9aa95ee89b183aa3de28e40ce747f61c","src/stream/empty.rs":"6af220c70d84906e6bcbe29d72c7f23e0f24ca0effaacb0b910b8875ac5fd5ad","src/stream/filter.rs":"1f50a0d8ea7416980c71333253e948bab07551d800ec74f597a7a6a75d6999e7","src/stream/filter_map.rs":"83c807d0eab7e412961f9ec1a3e47b0a9f37d9d9497f8084d0a6498e05536f07","src/stream/flatten.rs":"74975cc20804b8abc9f0f839961f0b2932a622604160ab127e32048278177c85","src/stream/fold.rs":"b433b930478ec2ceebb3a415724fda7453ab48be25a767d5b8718c805fdb01f3","src/stream/for_each.rs":"273619371cedd6e0be96a9d79c4c3014fec07d02c9aa7f649b1b10bfc2991780","src/stream/for_each_concurrent.rs":"edf7a8b3def07f00f66a6f23a37944f928f60d53163bae09cdd98e7ab3f6de92","src/stream/forward.rs":"84086532f00ac7b88e82cfc9eefc678993cf1d74d3d6d129ab811dab05816c3c","src/stream/fuse.rs":"9e786ceb1aa60b995f138d7aa186d54baf388a477850e2184bcd910fc9520e2c","src/stream/futures_ordered.rs":"1784f05d995ca4b7a3441ab3d7e98bf5c1a23000e19cc870aadf16f4c6ba5ec5","src/stream/futures_unordered/abort.rs":"bdfece9f91accafd5122be36d628c37c5b219ac0eecec181267840fbb1e95a45","src/stream/futures_unordered/iter.rs":"827b5dd94babac43600e8832f7a69679c518e4cdf5640098675348b2f186d173","src/stream/futures_unordered/mod.rs":"764c37a38987eb4813ca0a4f72b78baaa628eb936408a19e1d8b93d4a68c4149","src/stream/futures_unordered/ready_to_run_queue.rs":"81382095c3e08ee909e07893de37350bd35e353a034652569706b5e0b2d7c8cb","src/stream/futures_unordered/task.rs":"f78fe2a3c68670d319c5a20062ecfc64f07914fcae08edb4d061719555fa91a7","src/stream/inspect.rs":"e7026d4a4d39ea4b2789307daf22c43179dde81cd30c71638a0e491661fc0b27","src/stream/into_future.rs":"0196750ee5646284015ded133f793e5a705055f9725ab1253c1e4077022a0021","src/stream/iter.rs":"a46e5ef875f06dd2d616c454b1f5f4b3be216e4e42b9f42bf0f229aa6503a7c5","src/stream/map.rs":"461fe52ff28fe1e4b82382ef3987c0f82cb11d44253b2d16403019e585936bff","src/stream/mod.rs":"2804a39af5a9758f0cad665c49fd6fc284deae0614705ce9b6137a8074961e4e","src/stream/next.rs":"a04660a77e6fb5b4745d5850bbef4b16ace62ed1648d488e1527c1d215f22013","src/stream/once.rs":"768911fc1baa0929e311143dbb7153ccbb7edc2640d1abbff3e23c6ee9fcf575","src/stream/peek.rs":"2562617a9b0fab92d7a4964703ad6908f867e475affcabebdd1f04f79112b20f","src/stream/poll_fn.rs":"3db1cbeb1db9ef45c37bfe0185aa909b0df4422a679248f588da9634398fab10","src/stream/repeat.rs":"822752edcc3f9898e3ae0f413021043525549112ca0f67a30b4abbd9e4725298","src/stream/select.rs":"8ca2ffd73310199e4c54f89deaa34078af8befc33870b4018821f8fd3d3772f3","src/stream/skip.rs":"9d37ef11d09a19d7ec785f85f98b96437f2e01a49f547fbf071ce75570833893","src/stream/skip_while.rs":"14934401976f00db15eddb4be0e036f2c5a0d6bc5a77e0f6a49d977b7b3e5c4e","src/stream/split.rs":"9b9d8c6c0ee635bdd171d79bcfad980ed6457eb3fcd2920e155a4559cdee16c8","src/stream/take.rs":"1f2461e03f0cae85b181705386ba8dbfcc80f4fb16d720e5a741368b652cf5e9","src/stream/take_while.rs":"36886a386b1b9b2bdbdbbe3245ea6f68ba6fe83d8038373f2f607af5a3d5cda0","src/stream/then.rs":"89255c8c16a1e356a61b2e34f34a95fc9d135cd4b99f4334ee85be22cf596d29","src/stream/unfold.rs":"89715419a04597b936137d0f9508b25d4b95126b574ffe3e1655d9fe4645afec","src/stream/zip.rs":"2b927a3451f8f163a1ed2e18b4814f81a02f7364fc1d90fbd67136c43ec2d7c4","src/task/atomic_waker.rs":"5494ea022ca074d6676f3e4960bccbc5d8ea05eb1e0387b9464cf27b5d11d371","src/task/local_waker_ref.rs":"bc94638dd60deffc696290cb2e779a023a5efaed6830b30988604f16e2842bbf","src/task/mod.rs":"4551a1a858bc88fcfc9ecca66e34c34739b5cb27a3f0f223ee395dea2281bc89","src/task/spawn/mod.rs":"6e905f7da7a64c220668cc59ba49abb893a1b1aa0186168d2800a612efe74860","src/task/spawn/spawn_error.rs":"414b9d0281db705783850fcee2a9970bda8cad0a56bcb29853567ec76bbbdd5e","src/task/spawn/spawn_with_handle.rs":"0d0e1d1fc499a9d156f9e13c28599d37087633021864eac65a48ec3ec3df5de4","src/try_future/and_then.rs":"01efdb643bb139af7faba43099ee479bdc188b46606616dc07e2220e8ff6d298","src/try_future/err_into.rs":"699b7a43d77ca55d6aa3de7e5c66b91363c8c3964d294ccf936116c520db28cc","src/try_future/flatten_sink.rs":"878105b95d765f2cef55a1519445d4b1c999b7bcf1d5a8875d0bd70635107077","src/try_future/into_future.rs":"1f54ed9120ec1cc2f5718ffdebe4cf13a154d30403208bd9e4259b2c87a3138f","src/try_future/map_err.rs":"353e29bde66f448a77d2038167bc7c1ace16c1312f2bbd30249d715d212f05ab","src/try_future/map_ok.rs":"abca4f6c25ec48542e878b8b2292455b4aea34b2ab88808f928306cb03e7c179","src/try_future/mod.rs":"c39d9c2693cdeb7449097aed0a28e2b00ea121fbe5bc113d57d0bcbd1e510659","src/try_future/or_else.rs":"03a389c9503504dda272cdbae6a586d63879596cc786062b93da6dde91df2ad8","src/try_future/try_chain.rs":"830d7625c0df9247c98aea1918d7154b92b2ab1a852400b352c5d1ac492d856f","src/try_future/try_join.rs":"8ff172c4217912d30b289102bf05ac2d51378b37a5aa3846dd2af6dd624e8c49","src/try_future/unwrap_or_else.rs":"3a6e6177a47b6c97450b02d341475e5503e87d6e90f722e7882a6c4ad96cefa6","src/try_stream/err_into.rs":"498c6c5f93667c44b54f7a124e78980e08be34b7877a245c55691e0df7e8435d","src/try_stream/into_stream.rs":"eca213060a273e2bd912f3aa8ace07fbc326d5629c6ed0cc7965e60651fdbcfc","src/try_stream/map_err.rs":"260e071107db5c0398cf9075bf6d38d5a25142031bd5411534c485e79c9d0c91","src/try_stream/map_ok.rs":"4730c627056085db4a0f2e4d383856f2ecc07a586dadffea00d8264269ea73a9","src/try_stream/mod.rs":"cfd064cc9868b9ae8598ceef1c7c3f9f9901f813d529fa4cc9087abcd9cea2a0","src/try_stream/try_buffer_unordered.rs":"39c381e6886cbbbdc3ba3a23e5e3d17c3e9f0dbae323bf6f75a46e6b6c7f6e46","src/try_stream/try_collect.rs":"0e41308cf3da8c34dd1a634c7cc0eb76aaa98573533baf620cbeca09fd3bcac5","src/try_stream/try_filter_map.rs":"fb7efc5cb37559b659f12e6c4eb30f466eb43e11253165c2b71df0e5c9c7ce90","src/try_stream/try_fold.rs":"550db77bdec07302fc764114f45a9e26bbf443c63a6d53fdde8a4c4c29d4dec1","src/try_stream/try_for_each.rs":"d1dd1fc2abf6d9217c3723dccc1d1111827ef60e1c4bcfefab55c78b5bb584c5","src/try_stream/try_for_each_concurrent.rs":"8eaeacb8458d331979315dfc7c84927484b7ec4269dfacf3c2e1cf869ae619fe","src/try_stream/try_next.rs":"5dc7b49ca2096c7abd0c232564f1ecd691a5f486d4b210540fb200f1b3ac93dc","src/try_stream/try_skip_while.rs":"2df8b99540ccca1be91cbaefee90d6265061d84dc4d45cf815d3676aeb308bf2"},"package":"993195be08509499edcbf5be4bb94569f47fb9f4c336142dbf76362c2b4efd21"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/futures-util-preview/Cargo.toml b/rustc_deps/vendor/futures-util-preview/Cargo.toml
index 45f39c6..8aed60a 100644
--- a/rustc_deps/vendor/futures-util-preview/Cargo.toml
+++ b/rustc_deps/vendor/futures-util-preview/Cargo.toml
@@ -14,11 +14,11 @@
 
 [package]
 name = "futures-util-preview"
-version = "0.3.0-alpha.2.1"
+version = "0.3.0-alpha.3"
 authors = ["Alex Crichton <alex@alexcrichton.com>"]
 description = "Common utilities and extension traits for the futures-rs library.\n"
 homepage = "https://rust-lang-nursery.github.io/futures-rs"
-documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures_util"
+documentation = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_util"
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/futures-rs"
 edition = "2018"
@@ -34,19 +34,19 @@
 optional = true
 
 [dependencies.futures-channel-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-core-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-io-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.futures-sink-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 default-features = false
 
 [dependencies.pin-utils]
@@ -60,10 +60,10 @@
 version = "0.1.2"
 optional = true
 [dev-dependencies.futures-executor-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 
 [dev-dependencies.futures-preview]
-version = "0.3.0-alpha.2"
+version = "0.3.0-alpha.3"
 
 [features]
 bench = []
diff --git a/rustc_deps/vendor/futures-util-preview/src/async_await/spawn.rs b/rustc_deps/vendor/futures-util-preview/src/async_await/spawn.rs
index 32dbc42..30374d3 100644
--- a/rustc_deps/vendor/futures-util-preview/src/async_await/spawn.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/async_await/spawn.rs
@@ -21,8 +21,7 @@
 macro_rules! spawn {
     ($future:expr) => {
         await!($crate::future::lazy(|cx| {
-            use $crate::task::ExecutorExt;
-            cx.executor().spawn($future)
+            $crate::task::SpawnExt::spawn(cx.spawner(), $future)
         }))
     }
 }
@@ -53,8 +52,7 @@
 macro_rules! spawn_with_handle {
     ($future:expr) => {
         await!($crate::future::lazy(|cx| {
-            use $crate::task::ExecutorExt;
-            cx.executor().spawn_with_handle($future)
+            $crate::task::SpawnExt::spawn_with_handle(cx.spawner(), $future)
         }))
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/compat.rs b/rustc_deps/vendor/futures-util-preview/src/compat/compat.rs
index 2702e8f..78f44ab 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/compat.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/compat.rs
@@ -4,19 +4,19 @@
 /// [`Stream`][futures::Stream] or [`Sink`][futures::Sink] and vice versa.
 #[derive(Debug)]
 #[must_use = "futures do nothing unless polled"]
-pub struct Compat<T, Ex> {
+pub struct Compat<T, Sp> {
     crate inner: T,
-    crate executor: Option<Ex>,
+    crate spawn: Option<Sp>,
 }
 
-impl<T, Ex> Compat<T, Ex> {
+impl<T, Sp> Compat<T, Sp> {
     /// Returns the inner item.
     pub fn into_inner(self) -> T {
         self.inner
     }
 
     /// Creates a new [`Compat`].
-    crate fn new(inner: T, executor: Option<Ex>) -> Compat<T, Ex> {
-        Compat { inner, executor }
+    crate fn new(inner: T, spawn: Option<Sp>) -> Compat<T, Sp> {
+        Compat { inner, spawn }
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/compat03to01.rs b/rustc_deps/vendor/futures-util-preview/src/compat/compat03to01.rs
index 3d80f49..38d4918 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/compat03to01.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/compat03to01.rs
@@ -10,10 +10,10 @@
 use futures_sink::Sink as Sink03;
 use std::{marker::Unpin, mem::PinMut, sync::Arc};
 
-impl<Fut, Ex> Future01 for Compat<Fut, Ex>
+impl<Fut, Sp> Future01 for Compat<Fut, Sp>
 where
     Fut: TryFuture03 + Unpin,
-    Ex: task03::Executor,
+    Sp: task03::Spawn,
 {
     type Item = Fut::Ok;
     type Error = Fut::Error;
@@ -27,10 +27,10 @@
     }
 }
 
-impl<St, Ex> Stream01 for Compat<St, Ex>
+impl<St, Sp> Stream01 for Compat<St, Sp>
 where
     St: TryStream03 + Unpin,
-    Ex: task03::Executor,
+    Sp: task03::Spawn,
 {
     type Item = St::Ok;
     type Error = St::Error;
@@ -48,7 +48,7 @@
 impl<T, E> Sink01 for Compat<T, E>
 where
     T: Sink03 + Unpin,
-    E: task03::Executor,
+    E: task03::Spawn,
 {
     type SinkItem = T::SinkItem;
     type SinkError = T::SinkError;
@@ -101,11 +101,11 @@
 fn with_context<T, E, R, F>(compat: &mut Compat<T, E>, f: F) -> R
 where
     T: Unpin,
-    E: task03::Executor,
+    E: task03::Spawn,
     F: FnOnce(PinMut<T>, &mut task03::Context) -> R,
 {
     let waker = current_as_waker();
-    let executor = compat.executor.as_mut().unwrap();
-    let mut cx = task03::Context::new(&waker, executor);
+    let spawn = compat.spawn.as_mut().unwrap();
+    let mut cx = task03::Context::new(&waker, spawn);
     f(PinMut::new(&mut compat.inner), &mut cx)
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/executor.rs b/rustc_deps/vendor/futures-util-preview/src/compat/executor.rs
index aaa3bbb..681e909 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/executor.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/executor.rs
@@ -2,13 +2,13 @@
 use super::Compat;
 use crate::{TryFutureExt, FutureExt, future::UnitError};
 use futures::future::Executor as Executor01;
-use futures_core::task::Executor as Executor03;
+use futures_core::task::Spawn as Spawn03;
 use futures_core::task as task03;
 use futures_core::future::FutureObj;
 
 /// A future that can run on a futures 0.1
 /// [`Executor`][futures::future::Executor].
-pub type Executor01Future = Compat<UnitError<FutureObj<'static, ()>>, Box<dyn Executor03 + Send>>;
+pub type Executor01Future = Compat<UnitError<FutureObj<'static, ()>>, Box<dyn Spawn03 + Send>>;
 
 /// Extension trait for futures 0.1 [`Executor`][futures::future::Executor].
 pub trait Executor01CompatExt: Executor01<Executor01Future> +
@@ -37,7 +37,7 @@
     executor01: Ex
 }
 
-impl<Ex> Executor03 for Executor01As03<Ex>
+impl<Ex> Spawn03 for Executor01As03<Ex>
 where Ex: Executor01<Executor01Future>,
       Ex: Clone + Send + 'static,
 {
@@ -45,7 +45,7 @@
         &mut self,
         future: FutureObj<'static, ()>,
     ) -> Result<(), task03::SpawnObjError> {
-        let exec: Box<dyn Executor03 + Send> = Box::new(self.clone());
+        let exec: Box<dyn Spawn03 + Send> = Box::new(self.clone());
         let future = future.unit_error().compat(exec);
 
         match self.executor01.execute(future) {
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/future01ext.rs b/rustc_deps/vendor/futures-util-preview/src/compat/future01ext.rs
index 2b7e910..170bc59 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/future01ext.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/future01ext.rs
@@ -9,11 +9,6 @@
     /// into a futures 0.3 [`Future<Output = Result<T,
     /// E>>`][futures_core::Future].
     fn compat(self) -> Compat<Self, ()> where Self: Sized {
-        Compat {
-            inner: self,
-            executor: None,
-        }
+        Compat::new(self, None)
     }
 }
-
-
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/mod.rs b/rustc_deps/vendor/futures-util-preview/src/compat/mod.rs
index 09f1285..89636ad 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/mod.rs
@@ -20,4 +20,4 @@
 #[cfg(feature = "tokio-compat")]
 mod tokio;
 #[cfg(feature = "tokio-compat")]
-pub use self::tokio::TokioDefaultExecutor;
+pub use self::tokio::TokioDefaultSpawn;
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/stream01ext.rs b/rustc_deps/vendor/futures-util-preview/src/compat/stream01ext.rs
index cd4471c..c83bf16 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/stream01ext.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/stream01ext.rs
@@ -8,13 +8,7 @@
     /// Converts a futures 0.1 [`Stream<Item = T, Error = E>`][futures::Stream]
     /// into a futures 0.3 [`Stream<Item = Result<T,
     /// E>>`][futures_core::Stream].
-    fn compat(self) -> Compat<Self, ()>
-    where
-        Self: Sized,
-    {
-        Compat {
-            inner: self,
-            executor: None,
-        }
+    fn compat(self) -> Compat<Self, ()> where Self: Sized {
+        Compat::new(self, None)
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/compat/tokio.rs b/rustc_deps/vendor/futures-util-preview/src/compat/tokio.rs
index 36b0e93..4553605 100644
--- a/rustc_deps/vendor/futures-util-preview/src/compat/tokio.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/compat/tokio.rs
@@ -1,9 +1,9 @@
 use crate::{future::FutureExt, try_future::TryFutureExt};
 use futures_core::future::FutureObj;
-use futures_core::task::{Executor, SpawnErrorKind, SpawnObjError};
+use futures_core::task::{Spawn, SpawnErrorKind, SpawnObjError};
 use tokio_executor::{DefaultExecutor, Executor as TokioExecutor};
 
-/// An executor that delegates to `tokio`'s
+/// A spawner that delegates to `tokio`'s
 /// [`DefaultExecutor`][tokio_executor::DefaultExecutor], will panic if used in
 /// the context of a task that is not running on `tokio`'s executor.
 ///
@@ -17,7 +17,7 @@
 /// #![feature(async_await, await_macro, futures_api, pin)]
 /// use futures::spawn;
 /// use futures::channel::oneshot;
-/// use futures::compat::TokioDefaultExecutor;
+/// use futures::compat::TokioDefaultSpawn;
 /// use futures::executor::block_on;
 /// use futures::future::{FutureExt, TryFutureExt};
 /// use std::thread;
@@ -35,7 +35,7 @@
 ///     let compat_future = future
 ///         .boxed()
 ///         .unit_error()
-///         .compat(TokioDefaultExecutor);
+///         .compat(TokioDefaultSpawn);
 ///
 ///     tokio::run(compat_future);
 /// }).join().unwrap();
@@ -43,9 +43,9 @@
 /// assert_eq!(block_on(receiver).unwrap(), 5);
 /// ```
 #[derive(Debug, Copy, Clone)]
-pub struct TokioDefaultExecutor;
+pub struct TokioDefaultSpawn;
 
-impl Executor for TokioDefaultExecutor {
+impl Spawn for TokioDefaultSpawn {
     fn spawn_obj(
         &mut self,
         task: FutureObj<'static, ()>,
diff --git a/rustc_deps/vendor/futures-util-preview/src/future/mod.rs b/rustc_deps/vendor/futures-util-preview/src/future/mod.rs
index 091e64e..ff6fd6d 100644
--- a/rustc_deps/vendor/futures-util-preview/src/future/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/future/mod.rs
@@ -7,7 +7,7 @@
 use core::mem::PinMut;
 use futures_core::future::Future;
 use futures_core::stream::Stream;
-use futures_core::task::{self, Poll, Executor};
+use futures_core::task::{self, Poll, Spawn};
 
 // Primitive futures
 mod empty;
@@ -60,8 +60,8 @@
 mod unit_error;
 pub use self::unit_error::UnitError;
 
-mod with_executor;
-pub use self::with_executor::WithExecutor;
+mod with_spawner;
+pub use self::with_spawner::WithSpawner;
 
 // Implementation details
 mod chain;
@@ -641,7 +641,7 @@
         UnitError::new(self)
     }
 
-    /// Assigns the provided `Executor` to be used when spawning tasks
+    /// Assigns the provided `Spawn` to be used when spawning tasks
     /// from within the future.
     ///
     /// # Examples
@@ -663,21 +663,21 @@
     ///  let val = await!((async {
     ///      assert_ne!(thread::current().name(), Some("my-pool-0"));
     ///
-    ///      // Spawned task runs on the executor specified via `with_executor`
+    ///      // Spawned task runs on the executor specified via `with_spawner`
     ///      spawn!(async {
     ///          assert_eq!(thread::current().name(), Some("my-pool-0"));
     ///          # tx.send("ran").unwrap();
     ///      }).unwrap();
-    ///  }).with_executor(pool));
+    ///  }).with_spawner(pool));
     ///
     ///  # assert_eq!(await!(rx), Ok("ran"))
     ///  # })
     /// ```
-    fn with_executor<E>(self, executor: E) -> WithExecutor<Self, E>
+    fn with_spawner<Sp>(self, spawner: Sp) -> WithSpawner<Self, Sp>
         where Self: Sized,
-              E: Executor
+              Sp: Spawn
     {
-        WithExecutor::new(self, executor)
+        WithSpawner::new(self, spawner)
     }
 
     /// A convenience for calling `Future::poll` on `Unpin` future types.
diff --git a/rustc_deps/vendor/futures-util-preview/src/future/with_executor.rs b/rustc_deps/vendor/futures-util-preview/src/future/with_executor.rs
deleted file mode 100644
index 72b7322..0000000
--- a/rustc_deps/vendor/futures-util-preview/src/future/with_executor.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-use core::marker::Unpin;
-use core::mem::PinMut;
-use futures_core::future::Future;
-use futures_core::task::{self, Poll, Executor};
-
-/// Future for the `with_executor` combinator, assigning an executor
-/// to be used when spawning other futures.
-///
-/// This is created by the `Future::with_executor` method.
-#[derive(Debug)]
-#[must_use = "futures do nothing unless polled"]
-pub struct WithExecutor<Fut, E> where Fut: Future, E: Executor {
-    executor: E,
-    future: Fut
-}
-
-impl<Fut: Future, E: Executor> WithExecutor<Fut, E> {
-    pub(super) fn new(future: Fut, executor: E) -> WithExecutor<Fut, E> {
-        WithExecutor { executor, future }
-    }
-}
-
-impl<Fut: Future + Unpin, E: Executor> Unpin for WithExecutor<Fut, E> {}
-
-impl<Fut, E> Future for WithExecutor<Fut, E>
-    where Fut: Future,
-          E: Executor,
-{
-    type Output = Fut::Output;
-
-    fn poll(self: PinMut<Self>, cx: &mut task::Context) -> Poll<Fut::Output> {
-        let this = unsafe { PinMut::get_mut_unchecked(self) };
-        let fut = unsafe { PinMut::new_unchecked(&mut this.future) };
-        let exec = &mut this.executor;
-        fut.poll(&mut cx.with_executor(exec))
-    }
-}
diff --git a/rustc_deps/vendor/futures-util-preview/src/future/with_spawner.rs b/rustc_deps/vendor/futures-util-preview/src/future/with_spawner.rs
new file mode 100644
index 0000000..c3227bd
--- /dev/null
+++ b/rustc_deps/vendor/futures-util-preview/src/future/with_spawner.rs
@@ -0,0 +1,37 @@
+use core::marker::Unpin;
+use core::mem::PinMut;
+use futures_core::future::Future;
+use futures_core::task::{self, Poll, Spawn};
+
+/// Future for the `with_spawner` combinator, assigning a [`Spawn`]
+/// to be used when spawning other futures.
+///
+/// This is created by the `Future::with_spawner` method.
+#[derive(Debug)]
+#[must_use = "futures do nothing unless polled"]
+pub struct WithSpawner<Fut, Sp> where Fut: Future, Sp: Spawn {
+    spawner: Sp,
+    future: Fut
+}
+
+impl<Fut: Future, Sp: Spawn> WithSpawner<Fut, Sp> {
+    pub(super) fn new(future: Fut, spawner: Sp) -> WithSpawner<Fut, Sp> {
+        WithSpawner { spawner, future }
+    }
+}
+
+impl<Fut: Future + Unpin, Sp: Spawn> Unpin for WithSpawner<Fut, Sp> {}
+
+impl<Fut, Sp> Future for WithSpawner<Fut, Sp>
+    where Fut: Future,
+          Sp: Spawn,
+{
+    type Output = Fut::Output;
+
+    fn poll(self: PinMut<Self>, cx: &mut task::Context) -> Poll<Fut::Output> {
+        let this = unsafe { PinMut::get_mut_unchecked(self) };
+        let fut = unsafe { PinMut::new_unchecked(&mut this.future) };
+        let spawner = &mut this.spawner;
+        fut.poll(&mut cx.with_spawner(spawner))
+    }
+}
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/close.rs b/rustc_deps/vendor/futures-util-preview/src/io/close.rs
index fd91b2d..33d2fd0 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/close.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/close.rs
@@ -16,15 +16,15 @@
 }
 
 // PinMut is never projected to fields
-impl<'a, W: ?Sized> Unpin for Close<'a, W> {}
+impl<W: ?Sized> Unpin for Close<'_, W> {}
 
-impl<W: AsyncWrite + ?Sized> Close<'a, W> {
-    pub(super) fn new(writer: &'a mut W) -> Close<'a, W> {
+impl<'a, W: AsyncWrite + ?Sized> Close<'a, W> {
+    pub(super) fn new(writer: &'a mut W) -> Self {
         Close { writer }
     }
 }
 
-impl<'a, W: AsyncWrite + ?Sized> Future for Close<'a, W> {
+impl<W: AsyncWrite + ?Sized> Future for Close<'_, W> {
     type Output = io::Result<()>;
 
     fn poll(mut self: PinMut<Self>, cx: &mut task::Context) -> Poll<Self::Output> {
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/copy_into.rs b/rustc_deps/vendor/futures-util-preview/src/io/copy_into.rs
index 8bb44ac..ea71ff6 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/copy_into.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/copy_into.rs
@@ -24,13 +24,10 @@
 }
 
 // No projections of PinMut<CopyInto> into PinMut<Field> are ever done.
-impl<'a, R: ?Sized, W: ?Sized> Unpin for CopyInto<'a, R, W> {}
+impl<R: ?Sized, W: ?Sized> Unpin for CopyInto<'_, R, W> {}
 
 impl<'a, R: ?Sized, W: ?Sized> CopyInto<'a, R, W> {
-    pub(super) fn new(
-        reader: &'a mut R,
-        writer: &'a mut W,
-    ) -> CopyInto<'a, R, W> {
+    pub(super) fn new(reader: &'a mut R, writer: &'a mut W) -> Self {
         CopyInto {
             reader,
             read_done: false,
@@ -43,7 +40,7 @@
     }
 }
 
-impl<'a, R, W> Future for CopyInto<'a, R, W>
+impl<R, W> Future for CopyInto<'_, R, W>
     where R: AsyncRead + ?Sized,
           W: AsyncWrite + ?Sized,
 {
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/flush.rs b/rustc_deps/vendor/futures-util-preview/src/io/flush.rs
index cd9801f..269cbf4 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/flush.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/flush.rs
@@ -19,15 +19,15 @@
 }
 
 // Pinning is never projected to fields
-impl<'a, W: ?Sized> Unpin for Flush<'a, W> {}
+impl<W: ?Sized> Unpin for Flush<'_, W> {}
 
-impl<W: AsyncWrite + ?Sized> Flush<'a, W> {
-    pub(super) fn new(writer: &'a mut W) -> Flush<'a, W> {
+impl<'a, W: AsyncWrite + ?Sized> Flush<'a, W> {
+    pub(super) fn new(writer: &'a mut W) -> Self {
         Flush { writer }
     }
 }
 
-impl<'a, W> Future for Flush<'a, W>
+impl<W> Future for Flush<'_, W>
     where W: AsyncWrite + ?Sized,
 {
     type Output = io::Result<()>;
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/mod.rs b/rustc_deps/vendor/futures-util-preview/src/io/mod.rs
index b6ad62a..f312d31 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/mod.rs
@@ -281,7 +281,7 @@
     /// assert_eq!(writer.into_inner(), [1, 2, 3, 4, 0]);
     /// # Ok::<(), Box<std::error::Error>>(()) }).unwrap();
     /// ```
-    fn write_all(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> {
+    fn write_all<'a>(&'a mut self, buf: &'a [u8]) -> WriteAll<'a, Self> {
         WriteAll::new(self, buf)
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/read.rs b/rustc_deps/vendor/futures-util-preview/src/io/read.rs
index 65f9e8e..fd3a725 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/read.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/read.rs
@@ -14,15 +14,15 @@
 }
 
 // Pinning is never projected to fields
-impl<'a, R: ?Sized> Unpin for Read<'a, R> {}
+impl<R: ?Sized> Unpin for Read<'_, R> {}
 
 impl<'a, R: AsyncRead + ?Sized> Read<'a, R> {
-    pub(super) fn new(reader: &'a mut R, buf: &'a mut [u8]) -> Read<'a, R> {
+    pub(super) fn new(reader: &'a mut R, buf: &'a mut [u8]) -> Self {
         Read { reader, buf }
     }
 }
 
-impl<'a, R: AsyncRead + ?Sized> Future for Read<'a, R> {
+impl<R: AsyncRead + ?Sized> Future for Read<'_, R> {
     type Output = io::Result<usize>;
 
     fn poll(mut self: PinMut<Self>, cx: &mut task::Context) -> Poll<Self::Output> {
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/read_exact.rs b/rustc_deps/vendor/futures-util-preview/src/io/read_exact.rs
index 420ea19..c57753e 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/read_exact.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/read_exact.rs
@@ -17,13 +17,10 @@
     buf: &'a mut [u8],
 }
 
-impl<'a, R: ?Sized> Unpin for ReadExact<'a, R> {}
+impl<R: ?Sized> Unpin for ReadExact<'_, R> {}
 
 impl<'a, R: AsyncRead + ?Sized> ReadExact<'a, R> {
-    pub(super) fn new(
-        reader: &'a mut R,
-        buf: &'a mut [u8]
-    ) -> ReadExact<'a, R> {
+    pub(super) fn new(reader: &'a mut R, buf: &'a mut [u8]) -> Self {
         ReadExact { reader, buf }
     }
 }
@@ -32,7 +29,7 @@
     io::Error::new(io::ErrorKind::UnexpectedEof, "early eof")
 }
 
-impl<'a, R: AsyncRead + ?Sized> Future for ReadExact<'a, R> {
+impl<R: AsyncRead + ?Sized> Future for ReadExact<'_, R> {
     type Output = io::Result<()>;
 
     fn poll(mut self: PinMut<Self>, cx: &mut task::Context) -> Poll<Self::Output> {
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/read_to_end.rs b/rustc_deps/vendor/futures-util-preview/src/io/read_to_end.rs
index 8f5b4bb..be0a1ca 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/read_to_end.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/read_to_end.rs
@@ -19,20 +19,17 @@
 }
 
 // We never project pinning to fields
-impl<'a, R: ?Sized> Unpin for ReadToEnd<'a, R> {}
+impl<R: ?Sized> Unpin for ReadToEnd<'_, R> {}
 
-impl<R: AsyncRead + ?Sized> ReadToEnd<'a, R> {
-    pub(super) fn new(
-        reader: &'a mut R,
-        buf: &'a mut Vec<u8>
-    ) -> ReadToEnd<'a, R> {
+impl<'a, R: AsyncRead + ?Sized> ReadToEnd<'a, R> {
+    pub(super) fn new(reader: &'a mut R, buf: &'a mut Vec<u8>) -> Self {
         ReadToEnd { reader, buf }
     }
 }
 
 struct Guard<'a> { buf: &'a mut Vec<u8>, len: usize }
 
-impl<'a> Drop for Guard<'a> {
+impl Drop for Guard<'_> {
     fn drop(&mut self) {
         unsafe { self.buf.set_len(self.len); }
     }
@@ -81,7 +78,7 @@
     ret
 }
 
-impl<'a, A> Future for ReadToEnd<'a, A>
+impl<A> Future for ReadToEnd<'_, A>
     where A: AsyncRead + ?Sized,
 {
     type Output = io::Result<()>;
diff --git a/rustc_deps/vendor/futures-util-preview/src/io/write_all.rs b/rustc_deps/vendor/futures-util-preview/src/io/write_all.rs
index a47d150..754e730 100644
--- a/rustc_deps/vendor/futures-util-preview/src/io/write_all.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/io/write_all.rs
@@ -17,10 +17,10 @@
 }
 
 // Pinning is never projected to fields
-impl<'a, W: ?Sized> Unpin for WriteAll<'a, W> {}
+impl<W: ?Sized> Unpin for WriteAll<'_, W> {}
 
 impl<'a, W: AsyncWrite + ?Sized> WriteAll<'a, W> {
-    pub(super) fn new(writer: &'a mut W, buf: &'a [u8]) -> WriteAll<'a, W> {
+    pub(super) fn new(writer: &'a mut W, buf: &'a [u8]) -> Self {
         WriteAll { writer, buf }
     }
 }
@@ -29,7 +29,7 @@
     io::Error::new(io::ErrorKind::WriteZero, "zero-length write")
 }
 
-impl<'a, W: AsyncWrite + ?Sized> Future for WriteAll<'a, W> {
+impl<W: AsyncWrite + ?Sized> Future for WriteAll<'_, W> {
     type Output = io::Result<()>;
 
     fn poll(mut self: PinMut<Self>, cx: &mut task::Context) -> Poll<io::Result<()>> {
diff --git a/rustc_deps/vendor/futures-util-preview/src/lib.rs b/rustc_deps/vendor/futures-util-preview/src/lib.rs
index bf9e1b7..81116c1 100644
--- a/rustc_deps/vendor/futures-util-preview/src/lib.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/lib.rs
@@ -1,7 +1,8 @@
 //! Combinators and utilities for working with `Future`s, `Stream`s, `Sink`s,
 //! and the `AsyncRead` and `AsyncWrite` traits.
 
-#![feature(async_await, await_macro, pin, arbitrary_self_types, futures_api)]
+#![feature(async_await, pin, arbitrary_self_types, futures_api)]
+#![cfg_attr(feature = "std", feature(await_macro))]
 #![cfg_attr(feature = "nightly", feature(cfg_target_has_atomic))]
 
 #![cfg_attr(not(feature = "std"), no_std)]
@@ -9,7 +10,7 @@
 #![deny(bare_trait_objects)]
 #![allow(unknown_lints)]
 
-#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.2/futures_util")]
+#![doc(html_root_url = "https://rust-lang-nursery.github.io/futures-api-docs/0.3.0-alpha.3/futures_util")]
 
 macro_rules! if_std {
     ($($i:item)*) => ($(
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/close.rs b/rustc_deps/vendor/futures-util-preview/src/sink/close.rs
index 8cb7b89..5c5965f 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/close.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/close.rs
@@ -16,12 +16,12 @@
 ///
 /// The sink itself is returned after closeing is complete.
 impl<'a, Si: Sink + Unpin + ?Sized> Close<'a, Si> {
-    pub(super) fn new(sink: &'a mut Si) -> Close<'a, Si> {
+    pub(super) fn new(sink: &'a mut Si) -> Self {
         Close { sink }
     }
 }
 
-impl<'a, Si: Sink + Unpin + ?Sized> Future for Close<'a, Si> {
+impl<Si: Sink + Unpin + ?Sized> Future for Close<'_, Si> {
     type Output = Result<(), Si::SinkError>;
 
     fn poll(
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/flush.rs b/rustc_deps/vendor/futures-util-preview/src/sink/flush.rs
index 0a84bf0..ad48165 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/flush.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/flush.rs
@@ -13,7 +13,7 @@
 }
 
 // Pin is never projected to a field.
-impl<'a, Si: Unpin + ?Sized> Unpin for Flush<'a, Si> {}
+impl<Si: Unpin + ?Sized> Unpin for Flush<'_, Si> {}
 
 /// A future that completes when the sink has finished processing all
 /// pending requests.
@@ -22,12 +22,12 @@
 /// intended to be used when you want to stop sending to the sink until
 /// all current requests are processed.
 impl<'a, Si: Sink + Unpin + ?Sized> Flush<'a, Si> {
-    pub(super) fn new(sink: &'a mut Si) -> Flush<'a, Si> {
+    pub(super) fn new(sink: &'a mut Si) -> Self {
         Flush { sink }
     }
 }
 
-impl<'a, Si: Sink + Unpin + ?Sized> Future for Flush<'a, Si> {
+impl<Si: Sink + Unpin + ?Sized> Future for Flush<'_, Si> {
     type Output = Result<(), Si::SinkError>;
 
     fn poll(
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/map_err.rs b/rustc_deps/vendor/futures-util-preview/src/sink/map_err.rs
index f4e379d..62c56d1 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/map_err.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/map_err.rs
@@ -35,7 +35,7 @@
 
     /// Get a pinned reference to the inner sink.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn get_pin_mut(self: PinMut<'a, Self>) -> PinMut<'a, Si> {
+    pub fn get_pin_mut<'a>(self: PinMut<'a, Self>) -> PinMut<'a, Si> {
         unsafe { PinMut::map_unchecked(self, |x| &mut x.sink) }
     }
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/mod.rs b/rustc_deps/vendor/futures-util-preview/src/sink/mod.rs
index 01b4d39..4cd1cf6 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/mod.rs
@@ -13,7 +13,7 @@
 use crate::compat::Compat;
 
 #[cfg(feature = "compat")]
-use futures_core::task::Executor;
+use futures_core::task::Spawn;
 
 mod close;
 pub use self::close::Close;
@@ -219,7 +219,7 @@
     /// Doing `sink.send_all(stream)` is roughly equivalent to
     /// `stream.forward(sink)`. The returned future will exhaust all items from
     /// `stream` and send them to `self`.
-    fn send_all<St>(
+    fn send_all<'a, St>(
         &'a mut self,
         stream: &'a mut St
     ) -> SendAll<'a, Self, St>
@@ -256,10 +256,10 @@
     /// Wraps a [`Sink`] into a sink compatible with libraries using
     /// futures 0.1 `Sink`. Requires the `compat` feature to be enabled.
     #[cfg(feature = "compat")]
-    fn compat<E>(self, executor: E) -> Compat<Self, E>
+    fn compat<Sp>(self, spawn: Sp) -> Compat<Self, Sp>
         where Self: Sized + Unpin,
-              E: Executor,
+              Sp: Spawn,
     {
-        Compat::new(self, Some(executor))
+        Compat::new(self, Some(spawn))
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/send.rs b/rustc_deps/vendor/futures-util-preview/src/sink/send.rs
index a7378fa..0359ad0 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/send.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/send.rs
@@ -14,10 +14,10 @@
 }
 
 // Pinning is never projected to children
-impl<'a, Si: Sink + Unpin + ?Sized> Unpin for Send<'a, Si> {}
+impl<Si: Sink + Unpin + ?Sized> Unpin for Send<'_, Si> {}
 
 impl<'a, Si: Sink + Unpin + ?Sized> Send<'a, Si> {
-    pub(super) fn new(sink: &'a mut Si, item: Si::SinkItem) -> Send<'a, Si> {
+    pub(super) fn new(sink: &'a mut Si, item: Si::SinkItem) -> Self {
         Send {
             sink,
             item: Some(item),
@@ -25,7 +25,7 @@
     }
 }
 
-impl<'a, Si: Sink + Unpin + ?Sized> Future for Send<'a, Si> {
+impl<Si: Sink + Unpin + ?Sized> Future for Send<'_, Si> {
     type Output = Result<(), Si::SinkError>;
 
     fn poll(
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/send_all.rs b/rustc_deps/vendor/futures-util-preview/src/sink/send_all.rs
index 760a7a2..74be381 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/send_all.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/send_all.rs
@@ -12,8 +12,8 @@
 #[must_use = "futures do nothing unless polled"]
 pub struct SendAll<'a, Si, St>
 where
-    Si: Sink + Unpin + 'a + ?Sized,
-    St: Stream + Unpin + 'a + ?Sized,
+    Si: Sink + Unpin + ?Sized + 'a,
+    St: Stream + Unpin + ?Sized + 'a,
 {
     sink: &'a mut Si,
     stream: Fuse<&'a mut St>,
@@ -21,16 +21,16 @@
 }
 
 // Pinning is never projected to any fields
-impl<'a, Si, St> Unpin for SendAll<'a, Si, St>
+impl<Si, St> Unpin for SendAll<'_, Si, St>
 where
-    Si: Sink + Unpin + 'a + ?Sized,
-    St: Stream + Unpin + 'a + ?Sized,
+    Si: Sink + Unpin + ?Sized,
+    St: Stream + Unpin + ?Sized,
 {}
 
 impl<'a, Si, St> SendAll<'a, Si, St>
 where
-    Si: Sink + Unpin + 'a + ?Sized,
-    St: Stream<Item = Si::SinkItem> + Unpin + 'a + ?Sized,
+    Si: Sink + Unpin + ?Sized,
+    St: Stream<Item = Si::SinkItem> + Unpin + ?Sized,
 {
     pub(super) fn new(
         sink: &'a mut Si,
@@ -62,10 +62,10 @@
     }
 }
 
-impl<'a, Si, St> Future for SendAll<'a, Si, St>
+impl<Si, St> Future for SendAll<'_, Si, St>
 where
-    Si: Sink + Unpin + 'a + ?Sized,
-    St: Stream<Item = Si::SinkItem> + Unpin + 'a + ?Sized,
+    Si: Sink + Unpin + ?Sized,
+    St: Stream<Item = Si::SinkItem> + Unpin + ?Sized,
 {
     type Output = Result<(), Si::SinkError>;
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/with.rs b/rustc_deps/vendor/futures-util-preview/src/sink/with.rs
index 3ea1a86..bc3a082 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/with.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/with.rs
@@ -60,7 +60,7 @@
 
 impl<Fut, T> State<Fut, T> {
     #[allow(needless_lifetimes, wrong_self_convention)] // https://github.com/rust-lang/rust/issues/52675
-    fn as_pin_mut(
+    fn as_pin_mut<'a>(
         self: PinMut<'a, Self>,
     ) -> State<PinMut<'a, Fut>, PinMut<'a, T>> {
         unsafe {
diff --git a/rustc_deps/vendor/futures-util-preview/src/sink/with_flat_map.rs b/rustc_deps/vendor/futures-util-preview/src/sink/with_flat_map.rs
index e29a920..25cb1ad 100644
--- a/rustc_deps/vendor/futures-util-preview/src/sink/with_flat_map.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/sink/with_flat_map.rs
@@ -62,7 +62,7 @@
 
     /// Get a pinned mutable reference to the inner sink.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn get_pin_mut(self: PinMut<'a, Self>) -> PinMut<'a, Si> {
+    pub fn get_pin_mut<'a>(self: PinMut<'a, Self>) -> PinMut<'a, Si> {
         unsafe { PinMut::map_unchecked(self, |x| &mut x.sink) }
     }
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/buffer_unordered.rs b/rustc_deps/vendor/futures-util-preview/src/stream/buffer_unordered.rs
index b1349c6..c9fa525 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/buffer_unordered.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/buffer_unordered.rs
@@ -86,7 +86,7 @@
     /// Note that care must be taken to avoid tampering with the state of the
     /// stream which may otherwise confuse this combinator.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn get_pin_mut(self: PinMut<'a, Self>) -> PinMut<'a, St> {
+    pub fn get_pin_mut<'a>(self: PinMut<'a, Self>) -> PinMut<'a, St> {
         unsafe { PinMut::map_unchecked(self, |x| x.get_mut()) }
     }
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/buffered.rs b/rustc_deps/vendor/futures-util-preview/src/stream/buffered.rs
index 27d2dce..68832eb 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/buffered.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/buffered.rs
@@ -82,7 +82,7 @@
     /// Note that care must be taken to avoid tampering with the state of the
     /// stream which may otherwise confuse this combinator.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn get_pin_mut(self: PinMut<'a, Self>) -> PinMut<'a, St> {
+    pub fn get_pin_mut<'a>(self: PinMut<'a, Self>) -> PinMut<'a, St> {
         unsafe { PinMut::map_unchecked(self, |x| x.get_mut()) }
     }
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/for_each_concurrent.rs b/rustc_deps/vendor/futures-util-preview/src/stream/for_each_concurrent.rs
index fc80f18..3d42aee 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/for_each_concurrent.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/for_each_concurrent.rs
@@ -1,3 +1,4 @@
+use crate::stream::{FuturesUnordered, StreamExt};
 use core::marker::Unpin;
 use core::mem::PinMut;
 use core::num::NonZeroUsize;
@@ -5,7 +6,6 @@
 use futures_core::stream::Stream;
 use futures_core::task::{self, Poll};
 use pin_utils::{unsafe_pinned, unsafe_unpinned};
-use crate::stream::{FuturesUnordered, StreamExt};
 
 /// A stream combinator which executes a unit closure over each item on a
 /// stream concurrently.
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/fuse.rs b/rustc_deps/vendor/futures-util-preview/src/stream/fuse.rs
index c13e0d0..3d1ed5a 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/fuse.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/fuse.rs
@@ -57,7 +57,7 @@
     /// Note that care must be taken to avoid tampering with the state of the
     /// stream which may otherwise confuse this combinator.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn get_pin_mut(self: PinMut<'a, Self>) -> PinMut<'a, St> {
+    pub fn get_pin_mut<'a>(self: PinMut<'a, Self>) -> PinMut<'a, St> {
         unsafe { PinMut::map_unchecked(self, |x| x.get_mut()) }
     }
 
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/iter.rs b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/iter.rs
index 33ce5d4..647b560 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/iter.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/iter.rs
@@ -13,7 +13,7 @@
 
 #[derive(Debug)]
 /// Mutable iterator over all futures in the unordered set.
-pub struct IterMut<'a, Fut: 'a + Unpin> (pub(super) IterPinMut<'a, Fut>);
+pub struct IterMut<'a, Fut: Unpin + 'a> (pub(super) IterPinMut<'a, Fut>);
 
 impl<'a, Fut> Iterator for IterPinMut<'a, Fut> {
     type Item = PinMut<'a, Fut>;
@@ -36,7 +36,7 @@
     }
 }
 
-impl<'a, Fut> ExactSizeIterator for IterPinMut<'a, Fut> {}
+impl<Fut> ExactSizeIterator for IterPinMut<'_, Fut> {}
 
 impl<'a, Fut: Unpin> Iterator for IterMut<'a, Fut> {
     type Item = &'a mut Fut;
@@ -50,4 +50,4 @@
     }
 }
 
-impl<'a, Fut: Unpin> ExactSizeIterator for IterMut<'a, Fut> {}
+impl<Fut: Unpin> ExactSizeIterator for IterMut<'_, Fut> {}
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/mod.rs b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/mod.rs
index fae995a..2352d2e 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/mod.rs
@@ -162,7 +162,7 @@
 
     /// Returns an iterator that allows modifying each future in the set.
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    pub fn iter_pin_mut(self: PinMut<'a, Self>) -> IterPinMut<'a, Fut> {
+    pub fn iter_pin_mut<'a>(self: PinMut<'a, Self>) -> IterPinMut<'a, Fut> {
         IterPinMut {
             task: self.head_all,
             len: self.len,
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/task.rs b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/task.rs
index 61cb10b..55f3d59 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/task.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/futures_unordered/task.rs
@@ -83,7 +83,7 @@
     }
 
     /// Returns a local waker for this task without cloning the Arc.
-    pub(super) fn local_waker(self: &'a Arc<Task<Fut>>) -> LocalWakerRef<'a> {
+    pub(super) fn local_waker<'a>(self: &'a Arc<Task<Fut>>) -> LocalWakerRef<'a> {
         // Safety: This is safe because an `Arc` is a struct which contains
         // a single field that is a pointer.
         let ptr = unsafe {
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/mod.rs b/rustc_deps/vendor/futures-util-preview/src/stream/mod.rs
index b8a6d15..aff7ec8 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/mod.rs
@@ -560,7 +560,8 @@
     /// available.
     ///
     /// This is similar to [`StreamExt::for_each`], but the futures
-    /// produced by the closure are run concurrently.
+    /// produced by the closure are run concurrently (but not in parallel--
+    /// this combinator does not introduce any threads).
     ///
     /// The closure provided will be called for each item this stream produces,
     /// yielding a future. That future will then be executed to completion
@@ -570,7 +571,8 @@
     /// futures. If this limit is not `None`, no more than `limit` futures
     /// will be run concurrently. The `limit` argument is of type
     /// `Into<Option<usize>>`, and so can be provided as either `None`,
-    /// `Some(10)`, or just `10`.
+    /// `Some(10)`, or just `10`. Note: a limit of zero is interpreted as
+    /// no limit at all, and will have the same result as passing in `None`.
     ///
     /// This method is only available when the `std` feature of this
     /// library is activated, and it is activated by default.
diff --git a/rustc_deps/vendor/futures-util-preview/src/stream/next.rs b/rustc_deps/vendor/futures-util-preview/src/stream/next.rs
index 21ad391..1ca37a1 100644
--- a/rustc_deps/vendor/futures-util-preview/src/stream/next.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/stream/next.rs
@@ -11,15 +11,15 @@
     stream: &'a mut St,
 }
 
-impl<'a, St: Stream + Unpin> Unpin for Next<'a, St> {}
+impl<St: Stream + Unpin> Unpin for Next<'_, St> {}
 
 impl<'a, St: Stream + Unpin> Next<'a, St> {
-    pub(super) fn new(stream: &'a mut St) -> Next<'a, St> {
+    pub(super) fn new(stream: &'a mut St) -> Self {
         Next { stream }
     }
 }
 
-impl<'a, St: Stream + Unpin> Future for Next<'a, St> {
+impl<St: Stream + Unpin> Future for Next<'_, St> {
     type Output = Option<St::Item>;
 
     fn poll(
diff --git a/rustc_deps/vendor/futures-util-preview/src/task/mod.rs b/rustc_deps/vendor/futures-util-preview/src/task/mod.rs
index 302f940..1ac0822 100644
--- a/rustc_deps/vendor/futures-util-preview/src/task/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/task/mod.rs
@@ -1,10 +1,10 @@
 //! Task notification
 
-mod executor;
-pub use self::executor::{ExecutorExt, SpawnError};
+mod spawn;
+pub use self::spawn::{SpawnExt, SpawnError};
 
 if_std! {
-    pub use self::executor::JoinHandle;
+    pub use self::spawn::JoinHandle;
 
     mod local_waker_ref;
     pub use self::local_waker_ref::{local_waker_ref, local_waker_ref_from_nonlocal, LocalWakerRef};
diff --git a/rustc_deps/vendor/futures-util-preview/src/task/executor/mod.rs b/rustc_deps/vendor/futures-util-preview/src/task/spawn/mod.rs
similarity index 82%
rename from rustc_deps/vendor/futures-util-preview/src/task/executor/mod.rs
rename to rustc_deps/vendor/futures-util-preview/src/task/spawn/mod.rs
index 97787ef..c8970c8 100644
--- a/rustc_deps/vendor/futures-util-preview/src/task/executor/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/task/spawn/mod.rs
@@ -1,39 +1,40 @@
-use futures_core::future::Future;
-use futures_core::task::Executor;
+use futures_core::task::Spawn;
 
 mod spawn_error;
 pub use self::spawn_error::SpawnError;
 
 if_std! {
+    use futures_core::future::Future;
+
     mod spawn_with_handle;
     use self::spawn_with_handle::spawn_with_handle;
     pub use self::spawn_with_handle::JoinHandle;
 }
 
-impl<Ex: ?Sized> ExecutorExt for Ex where Ex: Executor {}
+impl<Sp: ?Sized> SpawnExt for Sp where Sp: Spawn {}
 
-/// Extension trait for `Executor`
-pub trait ExecutorExt: Executor {
+/// Extension trait for `Spawn`
+pub trait SpawnExt: Spawn {
     /// Spawns a task that polls the given future with output `()` to
     /// completion.
     ///
     /// This method returns a [`Result`] that contains a [`SpawnError`] if
     /// spawning fails.
     ///
-    /// You can use [`spawn_with_handle`](ExecutorExt::spawn_with_handle) if
+    /// You can use [`spawn_with_handle`](SpawnExt::spawn_with_handle) if
     /// you want to spawn a future with output other than `()` or if you want
     /// to be able to await its completion.
     ///
     /// Note this method will eventually be replaced with the upcoming
-    /// `Executor::spawn` method which will take a `dyn Future` as input.
-    /// Technical limitations prevent `Executor::spawn` from being implemented
+    /// `Spawn::spawn` method which will take a `dyn Future` as input.
+    /// Technical limitations prevent `Spawn::spawn` from being implemented
     /// today. Feel free to use this method in the meantime.
     ///
     /// ```
     /// #![feature(async_await, await_macro, futures_api)]
     /// # futures::executor::block_on(async {
     /// use futures::executor::ThreadPool;
-    /// use futures::task::ExecutorExt;
+    /// use futures::task::SpawnExt;
     ///
     /// let mut executor = ThreadPool::new().unwrap();
     ///
@@ -61,7 +62,7 @@
     /// # futures::executor::block_on(async {
     /// use futures::executor::ThreadPool;
     /// use futures::future;
-    /// use futures::task::ExecutorExt;
+    /// use futures::task::SpawnExt;
     ///
     /// let mut executor = ThreadPool::new().unwrap();
     ///
diff --git a/rustc_deps/vendor/futures-util-preview/src/task/executor/spawn_error.rs b/rustc_deps/vendor/futures-util-preview/src/task/spawn/spawn_error.rs
similarity index 100%
rename from rustc_deps/vendor/futures-util-preview/src/task/executor/spawn_error.rs
rename to rustc_deps/vendor/futures-util-preview/src/task/spawn/spawn_error.rs
diff --git a/rustc_deps/vendor/futures-util-preview/src/task/executor/spawn_with_handle.rs b/rustc_deps/vendor/futures-util-preview/src/task/spawn/spawn_with_handle.rs
similarity index 93%
rename from rustc_deps/vendor/futures-util-preview/src/task/executor/spawn_with_handle.rs
rename to rustc_deps/vendor/futures-util-preview/src/task/spawn/spawn_with_handle.rs
index 05d84e7..1dd63f9 100644
--- a/rustc_deps/vendor/futures-util-preview/src/task/executor/spawn_with_handle.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/task/spawn/spawn_with_handle.rs
@@ -2,7 +2,7 @@
 use super::SpawnError;
 use futures_channel::oneshot::{self, Sender, Receiver};
 use futures_core::future::Future;
-use futures_core::task::{self, Poll, Executor, SpawnObjError};
+use futures_core::task::{self, Poll, Spawn, SpawnObjError};
 use pin_utils::{unsafe_pinned, unsafe_unpinned};
 use std::marker::Unpin;
 use std::mem::PinMut;
@@ -12,7 +12,7 @@
 use std::thread;
 
 /// The join handle returned by
-/// [`spawn_with_handle`](crate::task::ExecutorExt::spawn_with_handle).
+/// [`spawn_with_handle`](crate::task::SpawnExt::spawn_with_handle).
 #[must_use = "futures do nothing unless polled"]
 #[derive(Debug)]
 pub struct JoinHandle<T> {
@@ -80,11 +80,11 @@
     }
 }
 
-pub(super) fn spawn_with_handle<Ex, Fut>(
-    executor: &mut Ex,
+pub(super) fn spawn_with_handle<Sp, Fut>(
+    executor: &mut Sp,
     future: Fut,
 ) -> Result<JoinHandle<Fut::Output>, SpawnError>
-where Ex: Executor + ?Sized,
+where Sp: Spawn + ?Sized,
       Fut: Future + Send + 'static,
       Fut::Output: Send,
 {
diff --git a/rustc_deps/vendor/futures-util-preview/src/try_future/flatten_sink.rs b/rustc_deps/vendor/futures-util-preview/src/try_future/flatten_sink.rs
index e5de4c9..1f8b8be 100644
--- a/rustc_deps/vendor/futures-util-preview/src/try_future/flatten_sink.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/try_future/flatten_sink.rs
@@ -29,7 +29,7 @@
     }
 
     #[allow(needless_lifetimes)] // https://github.com/rust-lang/rust/issues/52675
-    fn project_pin(
+    fn project_pin<'a>(
         self: PinMut<'a, Self>
     ) -> State<PinMut<'a, Fut>, PinMut<'a, Si>> {
         unsafe {
diff --git a/rustc_deps/vendor/futures-util-preview/src/try_future/mod.rs b/rustc_deps/vendor/futures-util-preview/src/try_future/mod.rs
index 1febcc8..2bb27a1 100644
--- a/rustc_deps/vendor/futures-util-preview/src/try_future/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/try_future/mod.rs
@@ -10,7 +10,7 @@
 use crate::compat::Compat;
 
 #[cfg(feature = "compat")]
-use futures_core::task::Executor;
+use futures_core::task::Spawn;
 
 #[cfg(feature = "compat")]
 use core::marker::Unpin;
@@ -484,11 +484,11 @@
     /// futures 0.1 future definitons. Requires the `compat` feature to enable.
     ///
     #[cfg(feature = "compat")]
-    fn compat<E>(self, executor: E) -> Compat<Self, E>
+    fn compat<Sp>(self, spawn: Sp) -> Compat<Self, Sp>
         where Self: Sized + Unpin,
-              E: Executor,
+              Sp: Spawn,
     {
-        Compat::new(self, Some(executor))
+        Compat::new(self, Some(spawn))
     }
 
     /// Wraps a [`TryFuture`] into a type that implements
diff --git a/rustc_deps/vendor/futures-util-preview/src/try_stream/mod.rs b/rustc_deps/vendor/futures-util-preview/src/try_stream/mod.rs
index 132e976..cf81da7 100644
--- a/rustc_deps/vendor/futures-util-preview/src/try_stream/mod.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/try_stream/mod.rs
@@ -11,7 +11,7 @@
 use crate::compat::Compat;
 
 #[cfg(feature = "compat")]
-use futures_core::task::Executor;
+use futures_core::task::Spawn;
 
 mod err_into;
 pub use self::err_into::ErrInto;
@@ -507,10 +507,10 @@
     /// Wraps a [`TryStream`] into a stream compatible with libraries using
     /// futures 0.1 `Stream`. Requires the `compat` feature to be enabled.
     #[cfg(feature = "compat")]
-    fn compat<E>(self, executor: E) -> Compat<Self, E>
+    fn compat<Sp>(self, spawn: Sp) -> Compat<Self, Sp>
         where Self: Sized + Unpin,
-              E: Executor,
+              Sp: Spawn,
     {
-        Compat::new(self, Some(executor))
+        Compat::new(self, Some(spawn))
     }
 }
diff --git a/rustc_deps/vendor/futures-util-preview/src/try_stream/try_for_each_concurrent.rs b/rustc_deps/vendor/futures-util-preview/src/try_stream/try_for_each_concurrent.rs
index 31f3473..a59f0c9 100644
--- a/rustc_deps/vendor/futures-util-preview/src/try_stream/try_for_each_concurrent.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/try_stream/try_for_each_concurrent.rs
@@ -1,3 +1,4 @@
+use crate::stream::{FuturesUnordered, StreamExt};
 use core::marker::Unpin;
 use core::mem::PinMut;
 use core::num::NonZeroUsize;
@@ -5,7 +6,6 @@
 use futures_core::stream::TryStream;
 use futures_core::task::{self, Poll};
 use pin_utils::{unsafe_pinned, unsafe_unpinned};
-use crate::stream::{FuturesUnordered, StreamExt};
 
 /// A stream combinator which executes a unit closure over each item on a
 /// stream concurrently.
diff --git a/rustc_deps/vendor/futures-util-preview/src/try_stream/try_next.rs b/rustc_deps/vendor/futures-util-preview/src/try_stream/try_next.rs
index e5cc97c..e741b9b 100644
--- a/rustc_deps/vendor/futures-util-preview/src/try_stream/try_next.rs
+++ b/rustc_deps/vendor/futures-util-preview/src/try_stream/try_next.rs
@@ -9,11 +9,11 @@
 /// This future is created by the `Stream::try_collect` method.
 #[derive(Debug)]
 #[must_use = "streams do nothing unless polled"]
-pub struct TryNext<'a, St: 'a> {
+pub struct TryNext<'a, St: Unpin + 'a> {
     stream: &'a mut St,
 }
 
-impl<'a, St: TryStream + Unpin> Unpin for TryNext<'a, St> {}
+impl<St: Unpin> Unpin for TryNext<'_, St> {}
 
 impl<'a, St: TryStream + Unpin> TryNext<'a, St> {
     pub(super) fn new(stream: &'a mut St) -> Self {
@@ -21,7 +21,7 @@
     }
 }
 
-impl<'a, St: TryStream + Unpin> Future for TryNext<'a, St> {
+impl<St: TryStream + Unpin> Future for TryNext<'_, St> {
     type Output = Result<Option<St::Ok>, St::Error>;
 
     fn poll(
diff --git a/rustc_deps/vendor/iovec/.cargo-checksum.json b/rustc_deps/vendor/iovec/.cargo-checksum.json
index 2c85487..6832dc9 100644
--- a/rustc_deps/vendor/iovec/.cargo-checksum.json
+++ b/rustc_deps/vendor/iovec/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".travis.yml":"9134f9b0ca77f5646a3d0871a95c6aa4a9c778e37326a3dd87686fcb866c4636","CHANGELOG.md":"6f1bd582e0ed8f66e723cca4deabfc23fed4455e7469eaa0b51633ef88a14af6","Cargo.toml":"ac8f3603c5e24b4326aea402d8199c21d0c74602ef2c99a6befe210bbb63ed1a","LICENSE-APACHE":"01b5abb4a95cc87b220efbd67a1e99c74bef3d744806dd44b4d57e81db814962","LICENSE-MIT":"d4784f55731ba75b77ad73a52808914b26b2f93b69dd4c03249528a75afbd946","README.md":"247302d4c1dc621f150bc06fc0d37f7ad5a4f2dcf1aafe25f8dfe8eb4fe35921","appveyor.yml":"8c309c2779904317005c7f7404470daf2aad344571168a37da214e37833be2a9","src/lib.rs":"5f2e0b694ef4a24f83dbb9f73b7572d4b59478d9bb8cd724bbd982cd3b4e00df","src/sys/mod.rs":"b19af7b93fd8d7a6f46234e0bb93ddbb12b175e57eff9cb0c0c195ea89ec56b4","src/sys/unix.rs":"8265b65eee3672c96460f4aae8b7b61179e17c8ca80646be3994bc05951228ae","src/sys/unknown.rs":"5057c208dcb309ec1b46a76b922948358ceb727958fb8bde4908948a3890057d","src/sys/windows.rs":"90f2a0b93d2b322fb991daacb39e5ac7cef6dd90dac2de7660698c6097ec0c88","src/unix.rs":"76e76333e31dd53d1ea6704a880f4188014af09fe8be3cecd5239003b2a1fe7c","src/windows.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":"dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"}
\ No newline at end of file
+{"files":{".travis.yml":"9134f9b0ca77f5646a3d0871a95c6aa4a9c778e37326a3dd87686fcb866c4636","CHANGELOG.md":"6f1bd582e0ed8f66e723cca4deabfc23fed4455e7469eaa0b51633ef88a14af6","Cargo.lock":"eee753ec34168ab6394513e52d21a134c5de335e6fb44d84e9caf31b3a8b836c","Cargo.toml":"ac8f3603c5e24b4326aea402d8199c21d0c74602ef2c99a6befe210bbb63ed1a","LICENSE-APACHE":"01b5abb4a95cc87b220efbd67a1e99c74bef3d744806dd44b4d57e81db814962","LICENSE-MIT":"d4784f55731ba75b77ad73a52808914b26b2f93b69dd4c03249528a75afbd946","README.md":"247302d4c1dc621f150bc06fc0d37f7ad5a4f2dcf1aafe25f8dfe8eb4fe35921","appveyor.yml":"8c309c2779904317005c7f7404470daf2aad344571168a37da214e37833be2a9","src/lib.rs":"5f2e0b694ef4a24f83dbb9f73b7572d4b59478d9bb8cd724bbd982cd3b4e00df","src/sys/mod.rs":"b19af7b93fd8d7a6f46234e0bb93ddbb12b175e57eff9cb0c0c195ea89ec56b4","src/sys/unix.rs":"8265b65eee3672c96460f4aae8b7b61179e17c8ca80646be3994bc05951228ae","src/sys/unknown.rs":"5057c208dcb309ec1b46a76b922948358ceb727958fb8bde4908948a3890057d","src/sys/windows.rs":"90f2a0b93d2b322fb991daacb39e5ac7cef6dd90dac2de7660698c6097ec0c88","src/unix.rs":"76e76333e31dd53d1ea6704a880f4188014af09fe8be3cecd5239003b2a1fe7c","src/windows.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"package":"dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/iovec/Cargo.lock b/rustc_deps/vendor/iovec/Cargo.lock
new file mode 100644
index 0000000..2053367
--- /dev/null
+++ b/rustc_deps/vendor/iovec/Cargo.lock
@@ -0,0 +1,21 @@
+[[package]]
+name = "iovec"
+version = "0.1.2"
+dependencies = [
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[metadata]
+"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
+"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
diff --git a/rustc_deps/vendor/lazy_static/.cargo-checksum.json b/rustc_deps/vendor/lazy_static/.cargo-checksum.json
index cae0820..a97f85f 100644
--- a/rustc_deps/vendor/lazy_static/.cargo-checksum.json
+++ b/rustc_deps/vendor/lazy_static/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".travis.yml":"6401bb8df5f75e3c303da25dbfc5b146f394269f454461894940688214032e6e","Cargo.toml":"bb417b953c7cc8579345598e6ed051c6331cd82e40b3a6a315e60817d665155d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0621878e61f0d0fda054bcbe02df75192c28bde1ecc8289cbd86aeba2dd72720","README.md":"490799cc7104e41977f50346ff298e80c6c27961503dab1823e5663d81eda12f","appveyor.yml":"d17efb6bab4af26aa0048930de8bd3310b8d8a9961946a7962fe9fef31f96720","build.rs":"5392e01e6e355fc86549a7ef7aa9e6d9cf98930407a98a12a649811ac4123ae1","src/core_lazy.rs":"f20f2fc2bb751cf74622b05ec44675b6a29bfaa67d91a2e55485c665647d2904","src/heap_lazy.rs":"5fd5bd04dc6ce08f67097f9517da32077f5e6634324740b6bc7673adcbd723a0","src/inline_lazy.rs":"4771105e69bcba888ea78bee1100dc824d756f1f385d4fab70cdf25b7fa31215","src/lib.rs":"b7a907a1e3ec00497e647fd460533f031fe73f4d2954b06ec6834853c6068e4c","tests/no_std.rs":"2a5236bd3892a253855b4dc192f63138239165fa23b9c3421a9faa5482c780aa","tests/test.rs":"8e809c0f0332a3a60fca0113128cdab2cdbee92f03db523cdc4e82f4cd4b9f22"},"package":"ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7"}
\ No newline at end of file
+{"files":{".travis.yml":"6401bb8df5f75e3c303da25dbfc5b146f394269f454461894940688214032e6e","Cargo.lock":"147e0115d6ea03b59ded1dc9b7745c39de241a8690e7d1bba5492c12547ebaef","Cargo.toml":"bb417b953c7cc8579345598e6ed051c6331cd82e40b3a6a315e60817d665155d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0621878e61f0d0fda054bcbe02df75192c28bde1ecc8289cbd86aeba2dd72720","README.md":"490799cc7104e41977f50346ff298e80c6c27961503dab1823e5663d81eda12f","appveyor.yml":"d17efb6bab4af26aa0048930de8bd3310b8d8a9961946a7962fe9fef31f96720","build.rs":"5392e01e6e355fc86549a7ef7aa9e6d9cf98930407a98a12a649811ac4123ae1","src/core_lazy.rs":"f20f2fc2bb751cf74622b05ec44675b6a29bfaa67d91a2e55485c665647d2904","src/heap_lazy.rs":"5fd5bd04dc6ce08f67097f9517da32077f5e6634324740b6bc7673adcbd723a0","src/inline_lazy.rs":"4771105e69bcba888ea78bee1100dc824d756f1f385d4fab70cdf25b7fa31215","src/lib.rs":"b7a907a1e3ec00497e647fd460533f031fe73f4d2954b06ec6834853c6068e4c","tests/no_std.rs":"2a5236bd3892a253855b4dc192f63138239165fa23b9c3421a9faa5482c780aa","tests/test.rs":"8e809c0f0332a3a60fca0113128cdab2cdbee92f03db523cdc4e82f4cd4b9f22"},"package":"ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/lazy_static/Cargo.lock b/rustc_deps/vendor/lazy_static/Cargo.lock
new file mode 100644
index 0000000..296fd8c
--- /dev/null
+++ b/rustc_deps/vendor/lazy_static/Cargo.lock
@@ -0,0 +1,21 @@
+[[package]]
+name = "lazy_static"
+version = "1.1.0"
+dependencies = [
+ "spin 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "spin"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "version_check"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[metadata]
+"checksum spin 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "37b5646825922b96b5d7d676b5bb3458a54498e96ed7b0ce09dc43a07038fea4"
+"checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051"
diff --git a/rustc_deps/vendor/num_cpus/.cargo-checksum.json b/rustc_deps/vendor/num_cpus/.cargo-checksum.json
index d165a3a..519e8ee 100644
--- a/rustc_deps/vendor/num_cpus/.cargo-checksum.json
+++ b/rustc_deps/vendor/num_cpus/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".appveyor.yml":"2f3f82a91e82a6c0b601048a5c9cd9b39fa78dfb7172ecfe7ff3d4d010af66d8",".travis.yml":"7ed9195d081e7416bdd3b8e55884d1576d884254f9c46939cbe03340d812cbb1","CHANGELOG.md":"d0c6e3a26fcecc0de47ad2b20062a7d8bb9394bfccc1da0452aad19d6f5f60cd","CONTRIBUTING.md":"2390961aab1bba026135338da1216b6cc828dfaeed9357d9c155c55a252d3efb","Cargo.toml":"239b7c3b0d1dc06135126159213c339ec7b3b18ed9efc6a87b5fb883dd4a23d0","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0593d22d122d4bfec6407115e3907546312976f75473417aaa4c57ecd2095ae6","README.md":"12451d6905fe9cdac206410de8071b562e5ea936b6e55a19ac97982831a0fcdb","src/lib.rs":"a5e5b054f6a4c8f35b3da147a97d07f8b7b40a8df717bccb220e5481d7a01818"},"package":"c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"}
\ No newline at end of file
+{"files":{".appveyor.yml":"2f3f82a91e82a6c0b601048a5c9cd9b39fa78dfb7172ecfe7ff3d4d010af66d8",".travis.yml":"7ed9195d081e7416bdd3b8e55884d1576d884254f9c46939cbe03340d812cbb1","CHANGELOG.md":"d0c6e3a26fcecc0de47ad2b20062a7d8bb9394bfccc1da0452aad19d6f5f60cd","CONTRIBUTING.md":"2390961aab1bba026135338da1216b6cc828dfaeed9357d9c155c55a252d3efb","Cargo.lock":"038e2113d0230166adb37054bb1079d54d4c20a01c9a160874a00849466e9022","Cargo.toml":"239b7c3b0d1dc06135126159213c339ec7b3b18ed9efc6a87b5fb883dd4a23d0","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0593d22d122d4bfec6407115e3907546312976f75473417aaa4c57ecd2095ae6","README.md":"12451d6905fe9cdac206410de8071b562e5ea936b6e55a19ac97982831a0fcdb","src/lib.rs":"a5e5b054f6a4c8f35b3da147a97d07f8b7b40a8df717bccb220e5481d7a01818"},"package":"c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/num_cpus/Cargo.lock b/rustc_deps/vendor/num_cpus/Cargo.lock
new file mode 100644
index 0000000..1867706
--- /dev/null
+++ b/rustc_deps/vendor/num_cpus/Cargo.lock
@@ -0,0 +1,14 @@
+[[package]]
+name = "libc"
+version = "0.2.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "num_cpus"
+version = "1.8.0"
+dependencies = [
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[metadata]
+"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
diff --git a/rustc_deps/vendor/pin-utils/.cargo-checksum.json b/rustc_deps/vendor/pin-utils/.cargo-checksum.json
index d6d1768..16b0037 100644
--- a/rustc_deps/vendor/pin-utils/.cargo-checksum.json
+++ b/rustc_deps/vendor/pin-utils/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".rustfmt.toml":"437631cb27041f27fb292831a1b41c3b076ae4e387ee7b26c18a5045f70789f9",".travis.yml":"2b33a430e84d9d861b3f4007c4184be47555861c895c181f4188b691a36d799e","Cargo.toml":"747c72eae0142622b583892d1c85a397dbc7f5ee2379ced13ca3f53106668938","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"28802412d2bfbafe432b305634413b41a984d30fba0df41d30aa2c8a2077c5b1","README.md":"ebb23d6af3a613a0a5d053f77756611725175b05b41e9d03aaeeb3a9a30ac727","src/lib.rs":"6b368b3376fd23a7a5a33f6286d46551e6927c1dd31817944da142c38e4ca945","src/projection.rs":"00eb16d73c690cf582bee7a5e7832dc4f65ddd55552cb17422e9e754749dd3cc","src/stack_pin.rs":"a47d6b75d65593e797bc7c74b591c742663a508ec710fc9c5de441048864927a","tests/projection.rs":"1ef8a3284c6e3c9fe86d3ac95f44bbb3cc9333a42b3805eed6ccdc8a418a8035","tests/stack_pin.rs":"cdbd993c04dc4871f3d6ac920c3cab0b5f7292ca59b76ec1743fb359d368bb27"},"package":"00732c0034856e25a209071dff2e5a3424cf8612808cda550cd4fda6668fbead"}
\ No newline at end of file
+{"files":{".rustfmt.toml":"437631cb27041f27fb292831a1b41c3b076ae4e387ee7b26c18a5045f70789f9",".travis.yml":"2b33a430e84d9d861b3f4007c4184be47555861c895c181f4188b691a36d799e","Cargo.lock":"70273fd4360cc0bb4d4ebc07aae86c3045ed381ca1f823af646d8ec1fe3017d2","Cargo.toml":"747c72eae0142622b583892d1c85a397dbc7f5ee2379ced13ca3f53106668938","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"28802412d2bfbafe432b305634413b41a984d30fba0df41d30aa2c8a2077c5b1","README.md":"ebb23d6af3a613a0a5d053f77756611725175b05b41e9d03aaeeb3a9a30ac727","src/lib.rs":"6b368b3376fd23a7a5a33f6286d46551e6927c1dd31817944da142c38e4ca945","src/projection.rs":"00eb16d73c690cf582bee7a5e7832dc4f65ddd55552cb17422e9e754749dd3cc","src/stack_pin.rs":"a47d6b75d65593e797bc7c74b591c742663a508ec710fc9c5de441048864927a","tests/projection.rs":"1ef8a3284c6e3c9fe86d3ac95f44bbb3cc9333a42b3805eed6ccdc8a418a8035","tests/stack_pin.rs":"cdbd993c04dc4871f3d6ac920c3cab0b5f7292ca59b76ec1743fb359d368bb27"},"package":"00732c0034856e25a209071dff2e5a3424cf8612808cda550cd4fda6668fbead"}
\ No newline at end of file
diff --git a/rustc_deps/vendor/pin-utils/Cargo.lock b/rustc_deps/vendor/pin-utils/Cargo.lock
new file mode 100644
index 0000000..73fb4f8
--- /dev/null
+++ b/rustc_deps/vendor/pin-utils/Cargo.lock
@@ -0,0 +1,4 @@
+[[package]]
+name = "pin-utils"
+version = "0.1.0-alpha.1"
+