Upgrade enumn to 0.1.6

This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update rust/crates/enumn
For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md

Test: TreeHugger
Change-Id: I7747e9ea8723015e49469657ee26fc312e27d4cf
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index a98c5bd..081b42b 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
 {
   "git": {
-    "sha1": "5fbcf35bdfbffed551726f4c681680e8d4b70e7c"
+    "sha1": "6024ffd9b8fa3bf2da7da4e286980d93706dfa4b"
   },
   "path_in_vcs": ""
 }
\ No newline at end of file
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/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2a888ae..bc711bf 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,6 +5,9 @@
   pull_request:
   schedule: [cron: "40 1 * * *"]
 
+permissions:
+  contents: read
+
 env:
   RUSTFLAGS: -Dwarnings
 
@@ -16,6 +19,7 @@
       fail-fast: false
       matrix:
         rust: [nightly, beta, stable, 1.31.0]
+    timeout-minutes: 45
     steps:
       - uses: actions/checkout@v3
       - uses: dtolnay/rust-toolchain@master
@@ -27,6 +31,7 @@
     name: Clippy
     runs-on: ubuntu-latest
     if: github.event_name != 'pull_request'
+    timeout-minutes: 45
     steps:
       - uses: actions/checkout@v3
       - uses: dtolnay/rust-toolchain@clippy
@@ -36,6 +41,7 @@
     name: Outdated
     runs-on: ubuntu-latest
     if: github.event_name != 'pull_request'
+    timeout-minutes: 45
     steps:
       - uses: actions/checkout@v3
       - uses: dtolnay/install@cargo-outdated
diff --git a/Android.bp b/Android.bp
index 6f42337..58cb5ad 100644
--- a/Android.bp
+++ b/Android.bp
@@ -41,7 +41,7 @@
     name: "libenumn",
     crate_name: "enumn",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.1.5",
+    cargo_pkg_version: "0.1.6",
     srcs: ["src/lib.rs"],
     edition: "2018",
     rustlibs: [
diff --git a/Cargo.toml b/Cargo.toml
index 88e0f3e..219ea40 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
 edition = "2018"
 rust-version = "1.31"
 name = "enumn"
-version = "0.1.5"
+version = "0.1.6"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 description = "Convert number to enum"
 documentation = "https://docs.rs/enumn"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index eee91e7..a4b1864 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "enumn"
-version = "0.1.5"
+version = "0.1.6"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 categories = ["rust-patterns", "no-std"]
 description = "Convert number to enum"
@@ -8,7 +8,6 @@
 edition = "2018"
 keywords = ["enum", "integer"]
 license = "MIT OR Apache-2.0"
-readme = "README.md"
 repository = "https://github.com/dtolnay/enumn"
 rust-version = "1.31"
 
diff --git a/METADATA b/METADATA
index e5ae64e..7b15087 100644
--- a/METADATA
+++ b/METADATA
@@ -11,13 +11,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/enumn/enumn-0.1.5.crate"
+    value: "https://static.crates.io/crates/enumn/enumn-0.1.6.crate"
   }
-  version: "0.1.5"
+  version: "0.1.6"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2022
-    month: 12
-    day: 9
+    year: 2023
+    month: 2
+    day: 1
   }
 }
diff --git a/README.md b/README.md
index 3aa93b5..54e3e58 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 [<img alt="github" src="https://img.shields.io/badge/github-dtolnay/enumn-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/dtolnay/enumn)
 [<img alt="crates.io" src="https://img.shields.io/crates/v/enumn.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/enumn)
 [<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-enumn-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs" height="20">](https://docs.rs/enumn)
-[<img alt="build status" src="https://img.shields.io/github/workflow/status/dtolnay/enumn/CI/master?style=for-the-badge" height="20">](https://github.com/dtolnay/enumn/actions?query=branch%3Amaster)
+[<img alt="build status" src="https://img.shields.io/github/actions/workflow/status/dtolnay/enumn/ci.yml?branch=master&style=for-the-badge" height="20">](https://github.com/dtolnay/enumn/actions?query=branch%3Amaster)
 
 This crate provides a derive macro to generate a function for converting a
 primitive integer into the corresponding variant of an enum.
diff --git a/tests/test.rs b/tests/test.rs
new file mode 100644
index 0000000..3f2daa7
--- /dev/null
+++ b/tests/test.rs
@@ -0,0 +1,52 @@
+use enumn::N;
+
+#[derive(Debug, N, PartialEq)]
+enum EmptyEnum {}
+
+#[test]
+fn test_empty() {
+    assert_eq!(EmptyEnum::n(0), None);
+    assert_eq!(EmptyEnum::n(1), None);
+    assert_eq!(EmptyEnum::n(-1), None);
+}
+
+#[derive(Debug, N, PartialEq)]
+enum SimpleEnum {
+    Case0,
+    Case1,
+}
+
+#[test]
+fn test_simple() {
+    assert_eq!(SimpleEnum::n(0), Some(SimpleEnum::Case0));
+    assert_eq!(SimpleEnum::n(1), Some(SimpleEnum::Case1));
+    assert_eq!(SimpleEnum::n(4), None);
+    assert_eq!(SimpleEnum::n(-1), None);
+}
+
+#[derive(Debug, N, PartialEq)]
+#[repr(u8)]
+enum EnumWithRepr {
+    Case0,
+}
+
+#[test]
+fn test_repr() {
+    assert_eq!(EnumWithRepr::n(0), Some(EnumWithRepr::Case0));
+    assert_eq!(EnumWithRepr::n(255), None);
+}
+
+#[derive(Debug, N, PartialEq)]
+enum EnumWithDiscriminant {
+    A = 10,
+    B, // implicitly 11
+    C = -80,
+}
+
+#[test]
+fn test_discriminant() {
+    assert_eq!(EnumWithDiscriminant::n(10), Some(EnumWithDiscriminant::A));
+    assert_eq!(EnumWithDiscriminant::n(11), Some(EnumWithDiscriminant::B));
+    assert_eq!(EnumWithDiscriminant::n(-80), Some(EnumWithDiscriminant::C));
+    assert_eq!(EnumWithDiscriminant::n(12), None);
+}