diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 860bd16..9196b0b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,6 +39,10 @@ jobs: run: rustup target add i686-unknown-linux-gnu && sudo apt update && sudo apt install -y gcc-multilib - name: Test (32-bit all-features) run: cargo test --target i686-unknown-linux-gnu --all-features + - name: Install thumbv6m-none-eabi + run: rustup target add thumbv6m-none-eabi + - name: Check (no atomic ptr) + run: cargo check --target thumbv6m-none-eabi --no-default-features --features derive,serde,arrayvec - name: Setup Miri run: cargo miri setup - name: Test (miri all-features) diff --git a/src/derive/impls.rs b/src/derive/impls.rs index 4c98231..b98cce0 100644 --- a/src/derive/impls.rs +++ b/src/derive/impls.rs @@ -109,6 +109,7 @@ macro_rules! impl_smart_ptr { } impl_smart_ptr!(::alloc::boxed::Box); impl_smart_ptr!(::alloc::rc::Rc); +#[cfg(target_has_atomic = "ptr")] impl_smart_ptr!(::alloc::sync::Arc); impl Encode for [T; N] {