Snap for 6686656 from d256e487b415463d517809c52c78528e5d5ae036 to sdk-release

Change-Id: I2a72c9daca870cc4afec657fbca8f0cd17cff04d
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 6492333..77d0b53 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
 {
   "git": {
-    "sha1": "6091cbe972d57a2a706b71da3aca82c64150ef69"
+    "sha1": "ca72ba450ad4859c5a7557371560a022649b1b1e"
   }
 }
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..7507077
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: dtolnay
diff --git a/Android.bp b/Android.bp
index 94c8998..92a3ec1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py --run --device.
+// This file is generated by cargo2android.py --run --dependencies --device.
 
 rust_library {
     name: "libpaste",
@@ -13,9 +13,5 @@
 }
 
 // dependent_library ["feature_list"]
-//   paste-impl-0.1.7
-//   proc-macro-hack-0.5.11
-//   proc-macro2-1.0.9 "default,proc-macro"
-//   quote-1.0.3 "default,proc-macro"
-//   syn-1.0.16 "clone-impls,default,derive,parsing,printing,proc-macro,quote"
-//   unicode-xid-0.2.0 "default"
+//   paste-impl-0.1.18
+//   proc-macro-hack-0.5.16
diff --git a/Cargo.toml b/Cargo.toml
index fcf5ee4..7c1f3ac 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
 [package]
 edition = "2018"
 name = "paste"
-version = "0.1.16"
+version = "0.1.18"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 description = "Macros for all your token pasting needs"
 readme = "README.md"
@@ -22,7 +22,7 @@
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 [dependencies.paste-impl]
-version = "=0.1.16"
+version = "=0.1.18"
 
 [dependencies.proc-macro-hack]
 version = "0.5.9"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 2a1eaf8..cbcccc7 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "paste"
-version = "0.1.16"
+version = "0.1.18"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 edition = "2018"
 license = "MIT OR Apache-2.0"
@@ -9,7 +9,7 @@
 readme = "README.md"
 
 [dependencies]
-paste-impl = { version = "=0.1.16", path = "impl" }
+paste-impl = { version = "=0.1.18", path = "impl" }
 proc-macro-hack = "0.5.9"
 
 [dev-dependencies]
diff --git a/METADATA b/METADATA
index 0cb23cc..7271321 100644
--- a/METADATA
+++ b/METADATA
@@ -9,11 +9,11 @@
     type: GIT
     value: "https://github.com/dtolnay/paste"
   }
-  version: "0.1.16"
+  version: "0.1.18"
   license_type: NOTICE
   last_upgrade_date {
     year: 2020
-    month: 6
-    day: 3
+    month: 7
+    day: 10
   }
 }
diff --git a/tests/test.rs b/tests/test.rs
index 41a465b..e6dcdfa 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -153,6 +153,14 @@
     }
 }
 
+#[test]
+fn test_empty() {
+    paste::expr! {
+        assert_eq!(stringify!([<y y>]), "yy");
+        assert_eq!(stringify!([<>]).replace(' ', ""), "[<>]");
+    }
+}
+
 mod test_none_delimited_single_ident {
     macro_rules! m {
         ($id:ident) => {
@@ -365,6 +373,29 @@
     }
 }
 
+mod test_type_in_fn_arg {
+    // https://github.com/dtolnay/paste/issues/38
+
+    fn _jit_address(_node: ()) {}
+
+    macro_rules! jit_reexport {
+        ($fn:ident, $arg:ident : $typ:ty) => {
+            paste::item! {
+                pub fn $fn($arg: $typ) {
+                    [<_jit_ $fn>]($arg);
+                }
+            }
+        };
+    }
+
+    jit_reexport!(address, node: ());
+
+    #[test]
+    fn test_type_in_fn_arg() {
+        let _ = address;
+    }
+}
+
 mod test_pat_in_expr_position {
     // https://github.com/xiph/rav1e/pull/2324/files
 
diff --git a/tests/ui/env-empty.rs b/tests/ui/env-empty.rs
new file mode 100644
index 0000000..d1682f5
--- /dev/null
+++ b/tests/ui/env-empty.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<env!()>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/env-empty.stderr b/tests/ui/env-empty.stderr
new file mode 100644
index 0000000..ef8f362
--- /dev/null
+++ b/tests/ui/env-empty.stderr
@@ -0,0 +1,5 @@
+error: expected string literal as argument to env! macro
+ --> $DIR/env-empty.rs:2:10
+  |
+2 |     fn [<env!()>]() {}
+  |          ^^^^^^
diff --git a/tests/ui/env-non-string.rs b/tests/ui/env-non-string.rs
new file mode 100644
index 0000000..d35a445
--- /dev/null
+++ b/tests/ui/env-non-string.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<env!(1.31)>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/env-non-string.stderr b/tests/ui/env-non-string.stderr
new file mode 100644
index 0000000..007ebcf
--- /dev/null
+++ b/tests/ui/env-non-string.stderr
@@ -0,0 +1,5 @@
+error: expected string literal
+ --> $DIR/env-non-string.rs:2:15
+  |
+2 |     fn [<env!(1.31)>]() {}
+  |               ^^^^
diff --git a/tests/ui/env-suffix.rs b/tests/ui/env-suffix.rs
new file mode 100644
index 0000000..cd9e15e
--- /dev/null
+++ b/tests/ui/env-suffix.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<env!("VAR"suffix)>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/env-suffix.stderr b/tests/ui/env-suffix.stderr
new file mode 100644
index 0000000..c696fa1
--- /dev/null
+++ b/tests/ui/env-suffix.stderr
@@ -0,0 +1,5 @@
+error: expected string literal
+ --> $DIR/env-suffix.rs:2:15
+  |
+2 |     fn [<env!("VAR"suffix)>]() {}
+  |               ^^^^^^^^^^^
diff --git a/tests/ui/env-unexpected.rs b/tests/ui/env-unexpected.rs
new file mode 100644
index 0000000..1a34ae8
--- /dev/null
+++ b/tests/ui/env-unexpected.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<env!("VAR" "VAR")>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/env-unexpected.stderr b/tests/ui/env-unexpected.stderr
new file mode 100644
index 0000000..63095de
--- /dev/null
+++ b/tests/ui/env-unexpected.stderr
@@ -0,0 +1,5 @@
+error: unexpected token in env! macro
+ --> $DIR/env-unexpected.rs:2:21
+  |
+2 |     fn [<env!("VAR" "VAR")>]() {}
+  |                     ^^^^^
diff --git a/tests/ui/invalid-ident.rs b/tests/ui/invalid-ident.rs
new file mode 100644
index 0000000..529896d
--- /dev/null
+++ b/tests/ui/invalid-ident.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<0 f>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/invalid-ident.stderr b/tests/ui/invalid-ident.stderr
new file mode 100644
index 0000000..bec43c4
--- /dev/null
+++ b/tests/ui/invalid-ident.stderr
@@ -0,0 +1,5 @@
+error: `"0f"` is not a valid identifier
+ --> $DIR/invalid-ident.rs:2:8
+  |
+2 |     fn [<0 f>]() {}
+  |        ^^^^^^^
diff --git a/tests/ui/missing-paren-on-env.rs b/tests/ui/missing-paren-on-env.rs
new file mode 100644
index 0000000..b8a51b0
--- /dev/null
+++ b/tests/ui/missing-paren-on-env.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<env! huh>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/missing-paren-on-env.stderr b/tests/ui/missing-paren-on-env.stderr
new file mode 100644
index 0000000..6e99bea
--- /dev/null
+++ b/tests/ui/missing-paren-on-env.stderr
@@ -0,0 +1,5 @@
+error: expected `(`
+ --> $DIR/missing-paren-on-env.rs:2:15
+  |
+2 |     fn [<env! huh>]() {}
+  |               ^^^
diff --git a/tests/ui/no-env-var.stderr b/tests/ui/no-env-var.stderr
index 2ec206d..e79d148 100644
--- a/tests/ui/no-env-var.stderr
+++ b/tests/ui/no-env-var.stderr
@@ -1,4 +1,4 @@
-error: no such env var
+error: no such env var: "PASTE_UNKNOWN"
  --> $DIR/no-env-var.rs:2:17
   |
 2 |     fn [<a env!("PASTE_UNKNOWN") b>]() {}
diff --git a/tests/ui/no-ident-after-colon.rs b/tests/ui/no-ident-after-colon.rs
new file mode 100644
index 0000000..83a25d3
--- /dev/null
+++ b/tests/ui/no-ident-after-colon.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<name:0>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/no-ident-after-colon.stderr b/tests/ui/no-ident-after-colon.stderr
new file mode 100644
index 0000000..2f36bac
--- /dev/null
+++ b/tests/ui/no-ident-after-colon.stderr
@@ -0,0 +1,5 @@
+error: expected identifier after `:`
+ --> $DIR/no-ident-after-colon.rs:2:15
+  |
+2 |     fn [<name:0>]() {}
+  |               ^
diff --git a/tests/ui/unexpected-group.rs b/tests/ui/unexpected-group.rs
new file mode 100644
index 0000000..9fed522
--- /dev/null
+++ b/tests/ui/unexpected-group.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<a {} b>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/unexpected-group.stderr b/tests/ui/unexpected-group.stderr
new file mode 100644
index 0000000..c5d4a82
--- /dev/null
+++ b/tests/ui/unexpected-group.stderr
@@ -0,0 +1,5 @@
+error: unexpected token
+ --> $DIR/unexpected-group.rs:2:12
+  |
+2 |     fn [<a {} b>]() {}
+  |            ^^
diff --git a/tests/ui/unexpected-punct.rs b/tests/ui/unexpected-punct.rs
new file mode 100644
index 0000000..b2313b5
--- /dev/null
+++ b/tests/ui/unexpected-punct.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<a + b>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/unexpected-punct.stderr b/tests/ui/unexpected-punct.stderr
new file mode 100644
index 0000000..9564310
--- /dev/null
+++ b/tests/ui/unexpected-punct.stderr
@@ -0,0 +1,5 @@
+error: unexpected punct
+ --> $DIR/unexpected-punct.rs:2:12
+  |
+2 |     fn [<a + b>]() {}
+  |            ^
diff --git a/tests/ui/unsupported-literal.rs b/tests/ui/unsupported-literal.rs
new file mode 100644
index 0000000..d3768bd
--- /dev/null
+++ b/tests/ui/unsupported-literal.rs
@@ -0,0 +1,5 @@
+paste::item! {
+    fn [<1e+100>]() {}
+}
+
+fn main() {}
diff --git a/tests/ui/unsupported-literal.stderr b/tests/ui/unsupported-literal.stderr
new file mode 100644
index 0000000..30fe5b4
--- /dev/null
+++ b/tests/ui/unsupported-literal.stderr
@@ -0,0 +1,5 @@
+error: unsupported literal
+ --> $DIR/unsupported-literal.rs:2:10
+  |
+2 |     fn [<1e+100>]() {}
+  |          ^^^^^^