summaryrefslogtreecommitdiff
path: root/src/token
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-02-20 21:37:33 -0500
committerOwen Jacobson <owen@grimoire.ca>2025-02-20 22:35:25 -0500
commit70525c018dfd31a27805bb1fb666501b73d43e21 (patch)
tree348a78e6a1c5f1dcc0b788e4c177732f33609610 /src/token
parentd0cc34800243807dc1e4d352375566fde3b0f950 (diff)
Upgrade to Rust 1.85 and Rust 2024 edition.
There are a couple of migration suggestions from `cargo fix --edition` that I have deliberately skipped, which are intended to make sure that the changes to `if let` scoping don't bite us. They don't, I'm pretty sure, and if I turn out to be wrong, I'd rather fix the scoping issues (as they arise) than use `match` (`cargo fix --edition`'s suggestion). This change also includes a bulk reformat and a clippy cleanup. NOTA BENE: As this requires a new Rust toolchain, you'll need to update Rust (`rustup update`, normally) or the server won't build. This also applies to the Debian builder Docker image; it'll need to be rebuilt (from scratch, pulling its base image again) as well.
Diffstat (limited to 'src/token')
-rw-r--r--src/token/app.rs14
-rw-r--r--src/token/repo/auth.rs8
-rw-r--r--src/token/repo/token.rs6
3 files changed, 14 insertions, 14 deletions
diff --git a/src/token/app.rs b/src/token/app.rs
index 5c0aeb0..3f054ff 100644
--- a/src/token/app.rs
+++ b/src/token/app.rs
@@ -1,19 +1,18 @@
use chrono::TimeDelta;
use futures::{
- future,
+ Stream, future,
stream::{self, StreamExt as _},
- Stream,
};
use sqlx::sqlite::SqlitePool;
use super::{
- repo::{self, auth::Provider as _, Provider as _},
Broadcaster, Event as TokenEvent, Id, Secret,
+ repo::{self, Provider as _, auth::Provider as _},
};
use crate::{
clock::DateTime,
db::NotFound as _,
- login::{repo::Provider as _, Login, Password},
+ login::{Login, Password, repo::Provider as _},
name::{self, Name},
};
@@ -120,12 +119,13 @@ impl<'a> Tokens<'a> {
Ok((token, login))
}
- pub async fn limit_stream<E>(
+ pub async fn limit_stream<S, E>(
&self,
token: Id,
- events: impl Stream<Item = E> + std::fmt::Debug,
- ) -> Result<impl Stream<Item = E> + std::fmt::Debug, ValidateError>
+ events: S,
+ ) -> Result<impl Stream<Item = E> + std::fmt::Debug + use<S, E>, ValidateError>
where
+ S: Stream<Item = E> + std::fmt::Debug,
E: std::fmt::Debug,
{
// Subscribe, first.
diff --git a/src/token/repo/auth.rs b/src/token/repo/auth.rs
index b51db8c..0deed10 100644
--- a/src/token/repo/auth.rs
+++ b/src/token/repo/auth.rs
@@ -1,10 +1,10 @@
-use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction};
+use sqlx::{SqliteConnection, Transaction, sqlite::Sqlite};
use crate::{
clock::DateTime,
db::NotFound,
event::{Instant, Sequence},
- login::{self, password::StoredHash, History, Login},
+ login::{self, History, Login, password::StoredHash},
name::{self, Name},
};
@@ -12,7 +12,7 @@ pub trait Provider {
fn auth(&mut self) -> Auth;
}
-impl<'c> Provider for Transaction<'c, Sqlite> {
+impl Provider for Transaction<'_, Sqlite> {
fn auth(&mut self) -> Auth {
Auth(self)
}
@@ -20,7 +20,7 @@ impl<'c> Provider for Transaction<'c, Sqlite> {
pub struct Auth<'t>(&'t mut SqliteConnection);
-impl<'t> Auth<'t> {
+impl Auth<'_> {
pub async fn for_name(&mut self, name: &Name) -> Result<(History, StoredHash), LoadError> {
let name = name.canonical();
let row = sqlx::query!(
diff --git a/src/token/repo/token.rs b/src/token/repo/token.rs
index 33b89d5..ff42fad 100644
--- a/src/token/repo/token.rs
+++ b/src/token/repo/token.rs
@@ -1,4 +1,4 @@
-use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction};
+use sqlx::{SqliteConnection, Transaction, sqlite::Sqlite};
use uuid::Uuid;
use crate::{
@@ -14,7 +14,7 @@ pub trait Provider {
fn tokens(&mut self) -> Tokens;
}
-impl<'c> Provider for Transaction<'c, Sqlite> {
+impl Provider for Transaction<'_, Sqlite> {
fn tokens(&mut self) -> Tokens {
Tokens(self)
}
@@ -22,7 +22,7 @@ impl<'c> Provider for Transaction<'c, Sqlite> {
pub struct Tokens<'t>(&'t mut SqliteConnection);
-impl<'c> Tokens<'c> {
+impl Tokens<'_> {
// Issue a new token for an existing login. The issued_at timestamp will
// be used to control expiry, until the token is actually used.
pub async fn issue(