diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index babea5f16a839f951c5d80424cba86721819efda..fe707619c244aab1d48825cf02cf9af69fa7ea75 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,5 +1,5 @@
 [toolchain]
-channel = "nightly-2021-08-31"
+channel = "nightly-2021-09-29"
 components = [
     "rust-src",
     "llvm-tools-preview",
diff --git a/src/scheduler/task.rs b/src/scheduler/task.rs
index e83904acec9b4b65746f6e5ab84d4edad59f5f29..b644a2b6c2e02cfd5574352851cb47479ff1cd99 100644
--- a/src/scheduler/task.rs
+++ b/src/scheduler/task.rs
@@ -221,6 +221,7 @@ impl TaskHandlePriorityQueue {
 	}
 }
 
+#[derive(Default)]
 struct QueueHead {
 	head: Option<Rc<RefCell<Task>>>,
 	tail: Option<Rc<RefCell<Task>>>,
@@ -235,15 +236,6 @@ impl QueueHead {
 	}
 }
 
-impl Default for QueueHead {
-	fn default() -> Self {
-		Self {
-			head: None,
-			tail: None,
-		}
-	}
-}
-
 /// Realize a priority queue for tasks
 pub struct PriorityTaskQueue {
 	queues: [QueueHead; NO_PRIORITIES],