diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 48a33c2f49..806bd2bfa4 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -156,7 +156,8 @@ jobs:
# We pin to a specific commit for paranoia's sake.
uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
with:
- toolchain: 1.58.1
+ # We use nightly so that it correctly groups together imports
+ toolchain: nightly-2022-12-01
components: rustfmt
- uses: Swatinem/rust-cache@v2
diff --git a/changelog.d/15188.misc b/changelog.d/15188.misc
new file mode 100644
index 0000000000..e4e9472f01
--- /dev/null
+++ b/changelog.d/15188.misc
@@ -0,0 +1 @@
+Use nightly rustfmt in CI.
diff --git a/rust/benches/evaluator.rs b/rust/benches/evaluator.rs
index 7c987d4948..44477e63f7 100644
--- a/rust/benches/evaluator.rs
+++ b/rust/benches/evaluator.rs
@@ -14,6 +14,7 @@
#![feature(test)]
use std::collections::BTreeSet;
+
use synapse::push::{
evaluator::PushRuleEvaluator, Condition, EventMatchCondition, FilteredPushRules, JsonValue,
PushRules, SimpleJsonValue,
diff --git a/rust/src/push/evaluator.rs b/rust/src/push/evaluator.rs
index 55846627cc..1c2a05ad9a 100644
--- a/rust/src/push/evaluator.rs
+++ b/rust/src/push/evaluator.rs
@@ -15,7 +15,6 @@
use std::borrow::Cow;
use std::collections::BTreeMap;
-use crate::push::{EventMatchPatternType, JsonValue};
use anyhow::{Context, Error};
use lazy_static::lazy_static;
use log::warn;
@@ -27,6 +26,7 @@ use super::{
Action, Condition, ExactEventMatchCondition, FilteredPushRules, KnownCondition,
SimpleJsonValue,
};
+use crate::push::{EventMatchPatternType, JsonValue};
lazy_static! {
/// Used to parse the `is` clause in the room member count condition.
|