diff --git a/Makefile b/Makefile
index 204fe7e0c2639fbb5ac8f9d0219c84c18f467348..faa819b909795dfb3b6cb0c2bb2ff9f95d900eb1 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ default: ;
 
 install-cargo:
 	curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs |\
-		sh -s -- -y --profile default --default-toolchain 1.61.0
+		sh -s -- -y --profile default --default-toolchain 1.63.0
 
 centos7-cmake3:
 	[ -f /usr/bin/cmake ] && sudo rm /usr/bin/cmake
diff --git a/docker-build-base/Dockerfile b/docker-build-base/Dockerfile
index 96be64f8aebcc6a7cfe2b19b9fd34a72afe2d85f..a0cfed73dc1d0809dbb30336d326dc6bedb21c5c 100644
--- a/docker-build-base/Dockerfile
+++ b/docker-build-base/Dockerfile
@@ -29,7 +29,7 @@ ENV PATH=/opt/rh/devtoolset-7/root/usr/bin:${PATH}
 ENV PATH=/root/.cargo/bin:${PATH}
 RUN set -e; \
     curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs |\
-    sh -s -- -y --profile default --default-toolchain 1.61.0;
+    sh -s -- -y --profile default --default-toolchain 1.63.0;
 
 ENV PATH=/root/.rocks/bin:${PATH}
 RUN set -e; \
diff --git a/src/tarantool.rs b/src/tarantool.rs
index 911b87d100f16012f12385db9a194ba94b1b4936..c5a2228135e5f51a16e2c26b5b00d34ce4719709 100644
--- a/src/tarantool.rs
+++ b/src/tarantool.rs
@@ -109,7 +109,7 @@ inventory::submit!(crate::InnerTest {
     }
 });
 
-#[derive(Clone, Debug, tlua::Push, tlua::LuaRead, PartialEq)]
+#[derive(Clone, Debug, tlua::Push, tlua::LuaRead, PartialEq, Eq)]
 pub struct Cfg {
     pub listen: Option<String>,
     pub read_only: bool,
diff --git a/src/traft/mod.rs b/src/traft/mod.rs
index d4844d658dacf1cda0536606edf462bc4cd8e014..83b12c013b1ef0a5062be25db8b1c341b197a6cf 100644
--- a/src/traft/mod.rs
+++ b/src/traft/mod.rs
@@ -67,7 +67,7 @@ impl std::fmt::Display for LogicalClock {
 
 //////////////////////////////////////////////////////////////////////////////////////////
 /// The operation on the raft state machine.
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 #[serde(rename_all = "snake_case")]
 #[serde(tag = "kind")]
 pub enum Op {
@@ -141,7 +141,7 @@ impl From<OpReturnOne> for Op {
     }
 }
 
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct OpReturnOne;
 
 impl OpResult for OpReturnOne {
@@ -151,7 +151,7 @@ impl OpResult for OpReturnOne {
     }
 }
 
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct OpEvalLua {
     pub code: String,
 }
@@ -176,7 +176,7 @@ pub trait OpResult {
 
 //////////////////////////////////////////////////////////////////////////////////////////
 /// Serializable struct representing a member of the raft group.
-#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq)]
 pub struct Peer {
     /// Instances are identified by name.
     pub instance_id: String,
@@ -237,7 +237,7 @@ impl std::fmt::Display for Peer {
 /// See correspondig definition in `raft-rs`:
 /// - <https://github.com/tikv/raft-rs/blob/v0.6.0/proto/proto/eraftpb.proto#L23>
 ///
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct Entry {
     /// See correspondig definition in `raft-rs`:
     /// - <https://github.com/tikv/raft-rs/blob/v0.6.0/proto/proto/eraftpb.proto#L7>
@@ -287,7 +287,7 @@ mod entry_type_as_i32 {
 }
 
 /// Raft entry payload specific to the Picodata.
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 #[serde(untagged)]
 pub enum EntryContext {
     Normal(EntryContextNormal),
@@ -295,7 +295,7 @@ pub enum EntryContext {
 }
 
 /// [`EntryContext`] of a normal entry.
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct EntryContextNormal {
     pub lc: LogicalClock,
     pub op: Op,
@@ -309,7 +309,7 @@ impl EntryContextNormal {
 }
 
 /// [`EntryContext`] of a conf change entry, either `EntryConfChange` or `EntryConfChangeV2`
-#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct EntryContextConfChange {
     pub peers: Vec<Peer>,
 }