From 4a865b45cda79babf901cbd24e20713bb471d673 Mon Sep 17 00:00:00 2001 From: dusk Date: Wed, 13 Aug 2025 02:42:53 +0300 Subject: [PATCH] build: define rust-toolchain.toml and point to 'latest' nightly, fix rust crates on it --- crates/api/Cargo.toml | 2 +- crates/api/src/main.rs | 2 -- crates/command_parser/Cargo.toml | 2 +- crates/command_parser/src/lib.rs | 1 - crates/gateway/Cargo.toml | 2 +- crates/gateway/src/main.rs | 3 +-- crates/gdpr_worker/Cargo.toml | 2 +- crates/libpk/Cargo.toml | 4 ++-- crates/libpk/src/_config.rs | 8 ++++++-- crates/libpk/src/lib.rs | 1 - crates/migrate/Cargo.toml | 2 +- crates/migrate/src/main.rs | 2 -- rust-toolchain.toml | 4 ++-- 13 files changed, 16 insertions(+), 19 deletions(-) diff --git a/crates/api/Cargo.toml b/crates/api/Cargo.toml index d2f883d7..b37ac12e 100644 --- a/crates/api/Cargo.toml +++ b/crates/api/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "api" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] pluralkit_models = { path = "../models" } diff --git a/crates/api/src/main.rs b/crates/api/src/main.rs index e3a201cb..05ad7718 100644 --- a/crates/api/src/main.rs +++ b/crates/api/src/main.rs @@ -1,5 +1,3 @@ -#![feature(let_chains)] - use auth::{AuthState, INTERNAL_APPID_HEADER, INTERNAL_SYSTEMID_HEADER}; use axum::{ body::Body, diff --git a/crates/command_parser/Cargo.toml b/crates/command_parser/Cargo.toml index 749d348c..169bef16 100644 --- a/crates/command_parser/Cargo.toml +++ b/crates/command_parser/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "command_parser" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] lazy_static = { workspace = true } diff --git a/crates/command_parser/src/lib.rs b/crates/command_parser/src/lib.rs index 0a444915..34614f2d 100644 --- a/crates/command_parser/src/lib.rs +++ b/crates/command_parser/src/lib.rs @@ -1,4 +1,3 @@ -#![feature(let_chains)] #![feature(anonymous_lifetime_in_impl_trait)] pub mod command; diff --git a/crates/gateway/Cargo.toml b/crates/gateway/Cargo.toml index c707b29b..0222ab18 100644 --- a/crates/gateway/Cargo.toml +++ b/crates/gateway/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gateway" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] anyhow = { workspace = true } diff --git a/crates/gateway/src/main.rs b/crates/gateway/src/main.rs index e61c3445..0e49601e 100644 --- a/crates/gateway/src/main.rs +++ b/crates/gateway/src/main.rs @@ -1,6 +1,5 @@ -#![feature(let_chains)] +#![feature(duration_constructors_lite)] #![feature(if_let_guard)] -#![feature(duration_constructors)] use chrono::Timelike; use discord::gateway::cluster_config; diff --git a/crates/gdpr_worker/Cargo.toml b/crates/gdpr_worker/Cargo.toml index a30751f9..b57ccddf 100644 --- a/crates/gdpr_worker/Cargo.toml +++ b/crates/gdpr_worker/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gdpr_worker" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] libpk = { path = "../libpk" } diff --git a/crates/libpk/Cargo.toml b/crates/libpk/Cargo.toml index 30d77ae0..23d912c0 100644 --- a/crates/libpk/Cargo.toml +++ b/crates/libpk/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "libpk" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] anyhow = { workspace = true } @@ -12,7 +12,7 @@ pk_macros = { path = "../macros" } sentry = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } -sqlx = { workspace = true } +sqlx = { workspace = true, features = ["chrono"] } tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true} diff --git a/crates/libpk/src/_config.rs b/crates/libpk/src/_config.rs index 8358440b..92ee45ba 100644 --- a/crates/libpk/src/_config.rs +++ b/crates/libpk/src/_config.rs @@ -148,11 +148,15 @@ lazy_static! { // hacks if let Ok(var) = std::env::var("NOMAD_ALLOC_INDEX") && std::env::var("pluralkit__discord__cluster__total_nodes").is_ok() { - std::env::set_var("pluralkit__discord__cluster__node_id", var); + unsafe { + std::env::set_var("pluralkit__discord__cluster__node_id", var); + } } if let Ok(var) = std::env::var("STATEFULSET_NAME_FOR_INDEX") && std::env::var("pluralkit__discord__cluster__total_nodes").is_ok() { - std::env::set_var("pluralkit__discord__cluster__node_id", var.split("-").last().unwrap()); + unsafe { + std::env::set_var("pluralkit__discord__cluster__node_id", var.split("-").last().unwrap()); + } } Arc::new(Config::builder() diff --git a/crates/libpk/src/lib.rs b/crates/libpk/src/lib.rs index 55031bf3..fda8ba29 100644 --- a/crates/libpk/src/lib.rs +++ b/crates/libpk/src/lib.rs @@ -1,4 +1,3 @@ -#![feature(let_chains)] use std::net::SocketAddr; use metrics_exporter_prometheus::PrometheusBuilder; diff --git a/crates/migrate/Cargo.toml b/crates/migrate/Cargo.toml index cf4eff2d..0843cb3f 100644 --- a/crates/migrate/Cargo.toml +++ b/crates/migrate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "migrate" version = "0.1.0" -edition = "2021" +edition = "2024" [dependencies] libpk = { path = "../libpk" } diff --git a/crates/migrate/src/main.rs b/crates/migrate/src/main.rs index 85b15e33..0ee621e2 100644 --- a/crates/migrate/src/main.rs +++ b/crates/migrate/src/main.rs @@ -1,5 +1,3 @@ -#![feature(let_chains)] - use tracing::info; include!(concat!(env!("OUT_DIR"), "/data.rs")); diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 15df6b03..cbf2fc12 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-08-20" -components = ["rust-src", "rustfmt"] \ No newline at end of file +channel = "nightly-2025-08-09" +components = ["rust-src", "rustfmt"]