From 58941dbecabc906f27f3c92eb523788a41da8472 Mon Sep 17 00:00:00 2001 From: Jeff Vander Stoep Date: Wed, 1 Feb 2023 13:30:40 +0100 Subject: 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 --- .cargo_vcs_info.json | 2 +- .github/FUNDING.yml | 1 + .github/workflows/ci.yml | 6 ++++++ Android.bp | 2 +- Cargo.toml | 2 +- Cargo.toml.orig | 3 +-- METADATA | 10 +++++----- README.md | 2 +- tests/test.rs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 tests/test.rs 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 @@ on: pull_request: schedule: [cron: "40 1 * * *"] +permissions: + contents: read + env: RUSTFLAGS: -Dwarnings @@ -16,6 +19,7 @@ jobs: 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 @@ jobs: 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 @@ jobs: 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 @@ rust_proc_macro { 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 "] 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 "] categories = ["rust-patterns", "no-std"] description = "Convert number to enum" @@ -8,7 +8,6 @@ documentation = "https://docs.rs/enumn" 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 @@ third_party { } 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 @@ Convert number to enum [github](https://github.com/dtolnay/enumn) [crates.io](https://crates.io/crates/enumn) [docs.rs](https://docs.rs/enumn) -[build status](https://github.com/dtolnay/enumn/actions?query=branch%3Amaster) +[build status](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); +} -- cgit v1.2.3