diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 17dfd1d..ead57f3 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -72,10 +72,13 @@ jobs:
cargo +stable update
- uses: taiki-e/install-action@v2
with:
- tool: cargo-hack,cargo-nextest
+ tool: cargo-hack,cargo-nextest,cargo-minimal-versions
- name: Test (${{ matrix.rust }}, ${{ matrix.feature_flags }}})
run: |
cargo hack ${{ matrix.feature_flags }} nextest run --no-tests=pass
+ - name: Check -Zminimal-versions (${{ matrix.rust }}, ${{ matrix.feature_flags }}})
+ run: |
+ cargo hack ${{ matrix.feature_flags }} minimal-versions check
clippy:
# Only run on PRs if the source branch is on someone else's repo
diff --git a/Cargo.toml b/Cargo.toml
index 8738bcc..ae8d9bf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,6 +24,10 @@ intid-derive = { path = "intid-derive", version = "0.3.2" }
intid-core = { path = "intid-core", version = "0.3.2"}
intid = { path = "intid", version = "0.3.2" }
+# bytemuck 1.14 - adds `align_offset` feature
+# bytemuck 1.19 - adds `track_caller` feature
+bytemuck = "1.19"
+
[workspace.lints.rust]
missing-docs = "deny"
unsafe-op-in-unsafe-fn = "deny"
diff --git a/intid-allocator/Cargo.toml b/intid-allocator/Cargo.toml
index 731dce6..28f3c14 100644
--- a/intid-allocator/Cargo.toml
+++ b/intid-allocator/Cargo.toml
@@ -25,7 +25,7 @@ keywords = [
[dependencies]
atomic = { version = "0.6", optional = true }
-bytemuck = { version = "1", optional = true }
+bytemuck = { workspace = true, optional = true }
rustversion = "1"
[dependencies.intid]
diff --git a/intid-core/Cargo.toml b/intid-core/Cargo.toml
index 25197dd..86d1745 100644
--- a/intid-core/Cargo.toml
+++ b/intid-core/Cargo.toml
@@ -14,7 +14,7 @@ keywords = ["intid", "id", "counter", "idmap", "integer"]
[dependencies]
num-traits = { version = "0.2", optional = true }
nonmax = { version = "0.5", optional = true }
-bytemuck = { version = "1", optional = true }
+bytemuck = { workspace = true, optional = true }
[features]
default = ["std"]
diff --git a/intid-derive/src/analyze.rs b/intid-derive/src/analyze.rs
index 99e24a3..8447022 100644
--- a/intid-derive/src/analyze.rs
+++ b/intid-derive/src/analyze.rs
@@ -331,7 +331,8 @@ pub fn determine_repr(input: &DeriveInput) -> Result