diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 90c2d7f5b..ca775eac8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -132,8 +132,8 @@ jobs:
         target:
           - i686-unknown-linux-gnu
           - powerpc-unknown-linux-gnu
-#          - powerpc64-unknown-linux-gnu
-          - mips-unknown-linux-gnu
+          - powerpc64-unknown-linux-gnu
+#          - mips-unknown-linux-gnu
           - arm-linux-androideabi
 
     steps:
diff --git a/Cargo.toml b/Cargo.toml
index 516ccc8e5..2195f2450 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -62,7 +62,7 @@ io_safety = []
 
 [dependencies]
 async-attributes = { version = "1.1.2", optional = true }
-async-lock = { version = "2.7.0", optional = true }
+async-lock = { version = "3.1.0", optional = true }
 crossbeam-utils = { version = "0.8.0", optional = true }
 futures-core = { version = "0.3.4", optional = true, default-features = false }
 futures-io = { version = "0.3.4", optional = true }
@@ -80,10 +80,10 @@ surf = { version = "2.0.0", optional = true }
 
 
 [target.'cfg(not(target_os = "unknown"))'.dependencies]
-async-global-executor = { version = "2.3.1", optional = true, features = ["async-io"] }
-async-io = { version = "1.13.0", optional = true }
-futures-lite = { version = "1.0.0", optional = true }
-async-process = { version = "1.7.0", optional = true }
+async-global-executor = { version = "2.4.0", optional = true, features = ["async-io"] }
+async-io = { version = "2.2.0", optional = true }
+futures-lite = { version = "2.0.0", optional = true }
+async-process = { version = "2.0.0", optional = true }
 
 [target.'cfg(target_arch = "wasm32")'.dependencies]
 gloo-timers = { version = "0.2.1", features = ["futures"], optional = true }
diff --git a/src/collections/mod.rs b/src/collections/mod.rs
index ae9efaa92..745aed01c 100644
--- a/src/collections/mod.rs
+++ b/src/collections/mod.rs
@@ -11,10 +11,17 @@ pub mod hash_set;
 pub mod linked_list;
 pub mod vec_deque;
 
+#[allow(unused)]
 pub use binary_heap::BinaryHeap;
+#[allow(unused)]
 pub use btree_map::BTreeMap;
+#[allow(unused)]
 pub use btree_set::BTreeSet;
+#[allow(unused)]
 pub use hash_map::HashMap;
+#[allow(unused)]
 pub use hash_set::HashSet;
+#[allow(unused)]
 pub use linked_list::LinkedList;
+#[allow(unused)]
 pub use vec_deque::VecDeque;
diff --git a/src/option/mod.rs b/src/option/mod.rs
index 76f096b3f..f0d67b77b 100644
--- a/src/option/mod.rs
+++ b/src/option/mod.rs
@@ -5,6 +5,7 @@
 
 mod from_stream;
 
+#[allow(unused)]
 #[doc(inline)]
 pub use std::option::Option;
 
diff --git a/src/result/mod.rs b/src/result/mod.rs
index cae0ebd93..fc263318b 100644
--- a/src/result/mod.rs
+++ b/src/result/mod.rs
@@ -5,6 +5,7 @@
 
 mod from_stream;
 
+#[allow(unused)]
 #[doc(inline)]
 pub use std::result::Result;
 
diff --git a/src/string/mod.rs b/src/string/mod.rs
index e382fcf2c..3f6141fa3 100644
--- a/src/string/mod.rs
+++ b/src/string/mod.rs
@@ -5,5 +5,6 @@
 mod extend;
 mod from_stream;
 
+#[allow(unused)]
 #[doc(inline)]
 pub use std::string::String;
diff --git a/src/sync/waker_set.rs b/src/sync/waker_set.rs
index 243b3e33e..05590f488 100644
--- a/src/sync/waker_set.rs
+++ b/src/sync/waker_set.rs
@@ -149,7 +149,7 @@ impl WakerSet {
     /// Returns `true` if at least one operation was notified.
     #[cold]
     fn notify(&self, n: Notify) -> bool {
-        let mut inner = &mut *self.lock();
+        let inner = &mut *self.lock();
         let mut notified = false;
 
         for (_, opt_waker) in inner.entries.iter_mut() {
diff --git a/src/vec/mod.rs b/src/vec/mod.rs
index 77a0b746b..2efd3c3f9 100644
--- a/src/vec/mod.rs
+++ b/src/vec/mod.rs
@@ -6,5 +6,6 @@
 mod extend;
 mod from_stream;
 
+#[allow(unused)]
 #[doc(inline)]
 pub use std::vec::Vec;