diff --git a/README.md b/README.md
index 9f30883..e33ab51 100644
--- a/README.md
+++ b/README.md
@@ -10,11 +10,11 @@
 This repo contains pure-Rust crates for elliptic curve cryptography:
 [![curve25519 Rust]()](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/curve25519-dalek.yml)
 
-|                 Crate                    |   Description  | Crates.io | Docs |  CI  |
--------------------------------------------|----------------|-----------|------|-------
-| [`curve25519-dalek`](./curve25519-dalek) | A library for arithmetic over the Curve25519 and Ristretto elliptic curves and their associated scalars. | [![](https://img.shields.io/crates/v/curve25519-dalek.svg)](https://crates.io/crates/curve25519-dalek) | [![](https://img.shields.io/docsrs/curve25519-dalek)](https://docs.rs/curve25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/curve25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/rust.yml) |
-| [`ed25519-dalek`](./ed25519-dalek)       | An implementation of the EdDSA digital signature scheme over Curve25519. | [![](https://img.shields.io/crates/v/ed25519-dalek.svg)](https://crates.io/crates/ed25519-dalek) | [![](https://docs.rs/ed25519-dalek/badge.svg)](https://docs.rs/ed25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/ed25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/ed25519-dalek/actions/workflows/rust.yml) |
-| [`x25519-dalek`](./x25519-dalek)         | An implementation of elliptic curve Diffie-Hellman key exchange over Curve25519. | [![](https://img.shields.io/crates/v/x25519-dalek.svg)](https://crates.io/crates/x25519-dalek) | [![](https://docs.rs/x25519-dalek/badge.svg)](https://docs.rs/x25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/x25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/x25519-dalek/actions/workflows/rust.yml) |
+|                 Crate                    |   Description  | Crates.io | Docs | CI                                                                                                                                                                                                                          |
+-------------------------------------------|----------------|-----------|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+| [`curve25519-dalek`](./curve25519-dalek) | A library for arithmetic over the Curve25519 and Ristretto elliptic curves and their associated scalars. | [![](https://img.shields.io/crates/v/curve25519-dalek.svg)](https://crates.io/crates/curve25519-dalek) | [![](https://img.shields.io/docsrs/curve25519-dalek)](https://docs.rs/curve25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/curve25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/curve25519-dalek.yml) |
+| [`ed25519-dalek`](./ed25519-dalek)       | An implementation of the EdDSA digital signature scheme over Curve25519. | [![](https://img.shields.io/crates/v/ed25519-dalek.svg)](https://crates.io/crates/ed25519-dalek) | [![](https://docs.rs/ed25519-dalek/badge.svg)](https://docs.rs/ed25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/ed25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/ed25519-dalek.yml)       |
+| [`x25519-dalek`](./x25519-dalek)         | An implementation of elliptic curve Diffie-Hellman key exchange over Curve25519. | [![](https://img.shields.io/crates/v/x25519-dalek.svg)](https://crates.io/crates/x25519-dalek) | [![](https://docs.rs/x25519-dalek/badge.svg)](https://docs.rs/x25519-dalek) | [![CI](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/x25519-dalek.yml/badge.svg?branch=main)](https://github.com/dalek-cryptography/curve25519-dalek/actions/workflows/x25519-dalek.yml)         |
 
 There is also the [`curve25519-dalek-derive`](./curve25519-dalek-derive) crate, which is just a helper crate with some macros that make curve25519-dalek easier to write.
 
diff --git a/curve25519-dalek-derive/Cargo.toml b/curve25519-dalek-derive/Cargo.toml
index e19164c..17e6d0f 100644
--- a/curve25519-dalek-derive/Cargo.toml
+++ b/curve25519-dalek-derive/Cargo.toml
@@ -14,6 +14,6 @@ description = "curve25519-dalek Derives"
 proc-macro = true
 
 [dependencies]
-proc-macro2 = "1.0.53"
-quote = "1.0.29"
-syn = { version = "2.0.22", features = ["full"] }
+proc-macro2 = "1.0.66"
+quote = "1.0.31"
+syn = { version = "2.0.27", features = ["full"] }
diff --git a/curve25519-dalek-derive/tests/tests.rs b/curve25519-dalek-derive/tests/tests.rs
index 2ccd237..3f0c0d0 100644
--- a/curve25519-dalek-derive/tests/tests.rs
+++ b/curve25519-dalek-derive/tests/tests.rs
@@ -1,3 +1,4 @@
+#![cfg(any(target_arch = "x86", target_arch = "x86_64"))]
 #![allow(dead_code)]
 #![allow(unused_imports)]
 
diff --git a/ed25519-dalek/tests/ed25519.rs b/ed25519-dalek/tests/ed25519.rs
index 6632f01..d275778 100644
--- a/ed25519-dalek/tests/ed25519.rs
+++ b/ed25519-dalek/tests/ed25519.rs
@@ -451,9 +451,9 @@ mod integrations {
 
         m.insert(public_from_secret, "Updated Value");
 
-        let (k, v) = m.get_key_value(&public_from_secret).unwrap();
+        let (k, &v) = m.get_key_value(&public_from_secret).unwrap();
         assert_eq!(k, &public_from_secret);
-        assert_eq!(v.clone(), "Updated Value");
+        assert_eq!(v, "Updated Value");
         assert_eq!(m.len(), 1usize);
 
         let second_secret: SigningKey = SigningKey::generate(&mut csprng);
@@ -461,9 +461,9 @@ mod integrations {
         assert_ne!(public_from_secret, public_from_second_secret);
         m.insert(public_from_second_secret, "Second public key");
 
-        let (k, v) = m.get_key_value(&public_from_second_secret).unwrap();
+        let (k, &v) = m.get_key_value(&public_from_second_secret).unwrap();
         assert_eq!(k, &public_from_second_secret);
-        assert_eq!(v.clone(), "Second public key");
+        assert_eq!(v, "Second public key");
         assert_eq!(m.len(), 2usize);
     }
 }