[pbs-devel] [PATCH proxmox 6/9] port to edition 2024
Maximiliano Sandoval
m.sandoval at proxmox.com
Tue Mar 4 15:40:48 CET 2025
We remove binding modifiers as per:
error: binding modifiers may only be written when the default binding mode is `move`
--> proxmox-schema/src/format.rs:247:24
|
247 | Schema::Number(ref schema) => (
| ^^^ binding modifier not allowed under `ref` default binding mode
|
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/match-ergonomics.html>
note: matching on a reference type with a non-reference pattern changes the default binding mode
These change are possible thanks to the new match ergonomics so they
cannot be split into a separate commit.
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
Cargo.toml | 4 +--
proxmox-acme-api/src/plugin_api_impl.rs | 4 +--
proxmox-api-macro/src/api/method.rs | 8 +++---
proxmox-api-macro/src/api/structs.rs | 2 +-
proxmox-async/src/io/async_channel_writer.rs | 2 +-
proxmox-http/src/client/tls.rs | 30 ++++++++++----------
proxmox-http/src/rate_limited_stream.rs | 2 +-
proxmox-http/src/websocket/mod.rs | 2 +-
proxmox-notify/src/endpoints/smtp.rs | 2 +-
proxmox-router/src/cli/command.rs | 8 +++---
proxmox-router/src/permission.rs | 4 +--
proxmox-router/src/stream/parsing.rs | 5 +---
proxmox-schema/src/format.rs | 16 +++++------
proxmox-schema/src/schema.rs | 6 ++--
rustfmt.toml | 2 +-
15 files changed, 47 insertions(+), 50 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 3d758e92..794b448b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -57,12 +57,12 @@ resolver = "2"
[workspace.package]
authors = ["Proxmox Support Team <support at proxmox.com>"]
-edition = "2021"
+edition = "2024"
license = "AGPL-3"
repository = "https://git.proxmox.com/?p=proxmox.git"
homepage = "https://proxmox.com"
exclude = [ "debian" ]
-rust-version = "1.82"
+rust-version = "1.85"
[workspace.dependencies]
# any features enabled here are enabled on all members using 'workspace = true'!
diff --git a/proxmox-acme-api/src/plugin_api_impl.rs b/proxmox-acme-api/src/plugin_api_impl.rs
index 9aa8a4c3..6c2403e4 100644
--- a/proxmox-acme-api/src/plugin_api_impl.rs
+++ b/proxmox-acme-api/src/plugin_api_impl.rs
@@ -83,7 +83,7 @@ pub fn update_plugin(
expected_digest.detect_modification(digest.as_ref())?;
match plugins.get_mut(&id) {
- Some((ty, ref mut entry)) => {
+ Some((ty, entry)) => {
if ty != "dns" {
bail!("cannot update plugin of type {:?}", ty);
}
@@ -150,7 +150,7 @@ fn modify_cfg_for_api(id: &str, ty: &str, data: &Value) -> PluginConfig {
// None of these should be able to fail unless the user changed the files by hand, in which
// case we leave the unmodified string in the Value for now. This will be handled with an error
// later.
- if let Some(Value::String(ref mut data)) = obj.get_mut("data") {
+ if let Some(Value::String(data)) = obj.get_mut("data") {
if let Ok(new) = base64::decode_config(&data, base64::URL_SAFE_NO_PAD) {
if let Ok(utf8) = String::from_utf8(new) {
*data = utf8;
diff --git a/proxmox-api-macro/src/api/method.rs b/proxmox-api-macro/src/api/method.rs
index bc2c2e4f..cca07145 100644
--- a/proxmox-api-macro/src/api/method.rs
+++ b/proxmox-api-macro/src/api/method.rs
@@ -30,7 +30,7 @@ pub enum ReturnType {
impl ReturnType {
fn as_mut_schema(&mut self) -> Option<&mut Schema> {
match self {
- ReturnType::Explicit(ReturnSchema { ref mut schema, .. }) => Some(schema),
+ ReturnType::Explicit(ReturnSchema { schema, .. }) => Some(schema),
_ => None,
}
}
@@ -582,7 +582,7 @@ fn create_wrapper_function(
let body = match method_info.flavor {
MethodFlavor::Normal => {
quote! {
- if let ::serde_json::Value::Object(ref mut input_map) = &mut input_params {
+ if let ::serde_json::Value::Object(input_map) = &mut input_params {
#body
Ok(::serde_json::to_value(#func_name(#args) #await_keyword #question_mark)?)
} else {
@@ -592,7 +592,7 @@ fn create_wrapper_function(
}
MethodFlavor::Serializing => {
quote! {
- if let ::serde_json::Value::Object(ref mut input_map) = &mut input_params {
+ if let ::serde_json::Value::Object(input_map) = &mut input_params {
#body
let res = #func_name(#args) #await_keyword #question_mark;
let res: ::std::boxed::Box<dyn ::proxmox_router::SerializableReturn + Send> = ::std::boxed::Box::new(res);
@@ -609,7 +609,7 @@ fn create_wrapper_function(
quote! { ::proxmox_router::SyncStream }
};
quote! {
- if let ::serde_json::Value::Object(ref mut input_map) = &mut input_params {
+ if let ::serde_json::Value::Object(input_map) = &mut input_params {
#body
let res = #func_name(#args) #await_keyword #question_mark;
let res = #ty::from(res);
diff --git a/proxmox-api-macro/src/api/structs.rs b/proxmox-api-macro/src/api/structs.rs
index ee537ff0..c18b20b4 100644
--- a/proxmox-api-macro/src/api/structs.rs
+++ b/proxmox-api-macro/src/api/structs.rs
@@ -164,7 +164,7 @@ fn handle_regular_struct(
let mut all_of_schemas = TokenStream::new();
let mut to_remove = Vec::new();
- if let syn::Fields::Named(ref fields) = &stru.fields {
+ if let syn::Fields::Named(fields) = &stru.fields {
for field in &fields.named {
let attrs = serde::FieldAttrib::try_from(&field.attrs[..])?;
diff --git a/proxmox-async/src/io/async_channel_writer.rs b/proxmox-async/src/io/async_channel_writer.rs
index 9dd64cd5..d9de8e27 100644
--- a/proxmox-async/src/io/async_channel_writer.rs
+++ b/proxmox-async/src/io/async_channel_writer.rs
@@ -76,7 +76,7 @@ impl AsyncChannelWriter {
self.state = WriterState::Sending(future.boxed());
}
- WriterState::Sending(ref mut future) => match ready!(future.as_mut().poll(cx)) {
+ WriterState::Sending(future) => match ready!(future.as_mut().poll(cx)) {
Ok(sender) => {
self.sender = Some(sender);
self.state = WriterState::Ready;
diff --git a/proxmox-http/src/client/tls.rs b/proxmox-http/src/client/tls.rs
index 81aff783..867017e8 100644
--- a/proxmox-http/src/client/tls.rs
+++ b/proxmox-http/src/client/tls.rs
@@ -24,9 +24,9 @@ impl<S: AsyncRead + AsyncWrite + Unpin> AsyncRead for MaybeTlsStream<S> {
buf: &mut ReadBuf,
) -> Poll<Result<(), io::Error>> {
match self.get_mut() {
- MaybeTlsStream::Normal(ref mut s) => Pin::new(s).poll_read(cx, buf),
- MaybeTlsStream::Proxied(ref mut s) => Pin::new(s).poll_read(cx, buf),
- MaybeTlsStream::Secured(ref mut s) => Pin::new(s).poll_read(cx, buf),
+ MaybeTlsStream::Normal(s) => Pin::new(s).poll_read(cx, buf),
+ MaybeTlsStream::Proxied(s) => Pin::new(s).poll_read(cx, buf),
+ MaybeTlsStream::Secured(s) => Pin::new(s).poll_read(cx, buf),
}
}
}
@@ -38,9 +38,9 @@ impl<S: AsyncRead + AsyncWrite + Unpin> AsyncWrite for MaybeTlsStream<S> {
buf: &[u8],
) -> Poll<Result<usize, io::Error>> {
match self.get_mut() {
- MaybeTlsStream::Normal(ref mut s) => Pin::new(s).poll_write(cx, buf),
- MaybeTlsStream::Proxied(ref mut s) => Pin::new(s).poll_write(cx, buf),
- MaybeTlsStream::Secured(ref mut s) => Pin::new(s).poll_write(cx, buf),
+ MaybeTlsStream::Normal(s) => Pin::new(s).poll_write(cx, buf),
+ MaybeTlsStream::Proxied(s) => Pin::new(s).poll_write(cx, buf),
+ MaybeTlsStream::Secured(s) => Pin::new(s).poll_write(cx, buf),
}
}
@@ -50,9 +50,9 @@ impl<S: AsyncRead + AsyncWrite + Unpin> AsyncWrite for MaybeTlsStream<S> {
bufs: &[io::IoSlice<'_>],
) -> Poll<Result<usize, io::Error>> {
match self.get_mut() {
- MaybeTlsStream::Normal(ref mut s) => Pin::new(s).poll_write_vectored(cx, bufs),
- MaybeTlsStream::Proxied(ref mut s) => Pin::new(s).poll_write_vectored(cx, bufs),
- MaybeTlsStream::Secured(ref mut s) => Pin::new(s).poll_write_vectored(cx, bufs),
+ MaybeTlsStream::Normal(s) => Pin::new(s).poll_write_vectored(cx, bufs),
+ MaybeTlsStream::Proxied(s) => Pin::new(s).poll_write_vectored(cx, bufs),
+ MaybeTlsStream::Secured(s) => Pin::new(s).poll_write_vectored(cx, bufs),
}
}
@@ -66,17 +66,17 @@ impl<S: AsyncRead + AsyncWrite + Unpin> AsyncWrite for MaybeTlsStream<S> {
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), io::Error>> {
match self.get_mut() {
- MaybeTlsStream::Normal(ref mut s) => Pin::new(s).poll_flush(cx),
- MaybeTlsStream::Proxied(ref mut s) => Pin::new(s).poll_flush(cx),
- MaybeTlsStream::Secured(ref mut s) => Pin::new(s).poll_flush(cx),
+ MaybeTlsStream::Normal(s) => Pin::new(s).poll_flush(cx),
+ MaybeTlsStream::Proxied(s) => Pin::new(s).poll_flush(cx),
+ MaybeTlsStream::Secured(s) => Pin::new(s).poll_flush(cx),
}
}
fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), io::Error>> {
match self.get_mut() {
- MaybeTlsStream::Normal(ref mut s) => Pin::new(s).poll_shutdown(cx),
- MaybeTlsStream::Proxied(ref mut s) => Pin::new(s).poll_shutdown(cx),
- MaybeTlsStream::Secured(ref mut s) => Pin::new(s).poll_shutdown(cx),
+ MaybeTlsStream::Normal(s) => Pin::new(s).poll_shutdown(cx),
+ MaybeTlsStream::Proxied(s) => Pin::new(s).poll_shutdown(cx),
+ MaybeTlsStream::Secured(s) => Pin::new(s).poll_shutdown(cx),
}
}
}
diff --git a/proxmox-http/src/rate_limited_stream.rs b/proxmox-http/src/rate_limited_stream.rs
index d43c09c1..0e9c43ae 100644
--- a/proxmox-http/src/rate_limited_stream.rs
+++ b/proxmox-http/src/rate_limited_stream.rs
@@ -116,7 +116,7 @@ fn register_traffic(limiter: &(dyn ShareableRateLimit), count: usize) -> Option<
fn delay_is_ready(delay: &mut Option<Pin<Box<Sleep>>>, ctx: &mut Context<'_>) -> bool {
match delay {
- Some(ref mut future) => future.as_mut().poll(ctx).is_ready(),
+ Some(future) => future.as_mut().poll(ctx).is_ready(),
None => true,
}
}
diff --git a/proxmox-http/src/websocket/mod.rs b/proxmox-http/src/websocket/mod.rs
index eef5fa8e..fdbec979 100644
--- a/proxmox-http/src/websocket/mod.rs
+++ b/proxmox-http/src/websocket/mod.rs
@@ -548,7 +548,7 @@ impl<R: AsyncRead + Unpin + Send + 'static> AsyncRead for WebSocketReader<R> {
this.state = ReaderState::Receiving(future.boxed());
}
- ReaderState::Receiving(ref mut future) => match ready!(future.as_mut().poll(cx)) {
+ ReaderState::Receiving(future) => match ready!(future.as_mut().poll(cx)) {
Ok(ReadResult {
len,
reader,
diff --git a/proxmox-notify/src/endpoints/smtp.rs b/proxmox-notify/src/endpoints/smtp.rs
index b88e6c95..4521e04a 100644
--- a/proxmox-notify/src/endpoints/smtp.rs
+++ b/proxmox-notify/src/endpoints/smtp.rs
@@ -251,7 +251,7 @@ impl Endpoint for SmtpEndpoint {
.map_err(|err| Error::NotifyFailed(self.name().into(), Box::new(err)))?
}
#[cfg(feature = "mail-forwarder")]
- Content::ForwardedMail { ref raw, title, .. } => {
+ Content::ForwardedMail { raw, title, .. } => {
use lettre::message::header::ContentTransferEncoding;
use lettre::message::Body;
use tracing::error;
diff --git a/proxmox-router/src/cli/command.rs b/proxmox-router/src/cli/command.rs
index 01f64d19..aa99d528 100644
--- a/proxmox-router/src/cli/command.rs
+++ b/proxmox-router/src/cli/command.rs
@@ -327,10 +327,10 @@ pub async fn handle_command_future(
set_help_context(Some(def.clone()));
let result = match &*def {
- CommandLineInterface::Simple(ref cli_cmd) => {
+ CommandLineInterface::Simple(cli_cmd) => {
handle_simple_command_future(prefix, cli_cmd, args, rpcenv).await
}
- CommandLineInterface::Nested(ref map) => {
+ CommandLineInterface::Nested(map) => {
let mut prefix = prefix.to_string();
let cli_cmd = parse_nested_command(&mut prefix, map, &mut args)?;
handle_simple_command_future(&prefix, cli_cmd, args, rpcenv).await
@@ -356,10 +356,10 @@ pub fn handle_command(
set_help_context(Some(def.clone()));
let result = match &*def {
- CommandLineInterface::Simple(ref cli_cmd) => {
+ CommandLineInterface::Simple(cli_cmd) => {
handle_simple_command(prefix, cli_cmd, args, &mut rpcenv, run, [].into_iter())
}
- CommandLineInterface::Nested(ref map) => {
+ CommandLineInterface::Nested(map) => {
let mut prefix = prefix.to_string();
let cli_cmd = parse_nested_command(&mut prefix, map, &mut args)?;
handle_simple_command(&prefix, cli_cmd, args, &mut rpcenv, run, [].into_iter())
diff --git a/proxmox-router/src/permission.rs b/proxmox-router/src/permission.rs
index d3767b51..f6388d64 100644
--- a/proxmox-router/src/permission.rs
+++ b/proxmox-router/src/permission.rs
@@ -38,9 +38,9 @@ impl fmt::Debug for Permission {
Permission::Superuser => f.write_str("Superuser"),
Permission::World => f.write_str("World"),
Permission::Anybody => f.write_str("Anybody"),
- Permission::User(ref userid) => write!(f, "User({})", userid),
+ Permission::User(userid) => write!(f, "User({})", userid),
Permission::UserParam(param_name) => write!(f, "UserParam({})", param_name),
- Permission::Group(ref group) => write!(f, "Group({})", group),
+ Permission::Group(group) => write!(f, "Group({})", group),
Permission::WithParam(param_name, subtest) => {
write!(f, "WithParam({}, {:?})", param_name, subtest)
}
diff --git a/proxmox-router/src/stream/parsing.rs b/proxmox-router/src/stream/parsing.rs
index 69ae1994..782c18a6 100644
--- a/proxmox-router/src/stream/parsing.rs
+++ b/proxmox-router/src/stream/parsing.rs
@@ -270,10 +270,7 @@ impl AsyncBufRead for BodyBufReader {
) -> Poll<io::Result<&[u8]>> {
use hyper::body::HttpBody;
- let Self {
- ref mut reader,
- ref mut buf_at,
- } = Pin::into_inner(self);
+ let Self { reader, buf_at } = Pin::into_inner(self);
loop {
// If we currently have a buffer, use it:
if let Some((buf, at)) = buf_at {
diff --git a/proxmox-schema/src/format.rs b/proxmox-schema/src/format.rs
index 080b0268..c1e33a68 100644
--- a/proxmox-schema/src/format.rs
+++ b/proxmox-schema/src/format.rs
@@ -229,30 +229,30 @@ pub fn get_property_description(
let (descr, default, extra) = match schema {
Schema::Null => ("null", None, None),
- Schema::String(ref schema) => (
+ Schema::String(schema) => (
schema.description,
schema.default.map(|v| v.to_owned()),
None,
),
- Schema::Boolean(ref schema) => (
+ Schema::Boolean(schema) => (
schema.description,
schema.default.map(|v| v.to_string()),
None,
),
- Schema::Integer(ref schema) => (
+ Schema::Integer(schema) => (
schema.description,
schema.default.map(|v| v.to_string()),
None,
),
- Schema::Number(ref schema) => (
+ Schema::Number(schema) => (
schema.description,
schema.default.map(|v| v.to_string()),
None,
),
- Schema::Object(ref schema) => (schema.description, None, None),
- Schema::AllOf(ref schema) => (schema.description, None, None),
- Schema::OneOf(ref schema) => (schema.description, None, None),
- Schema::Array(ref schema) => (
+ Schema::Object(schema) => (schema.description, None, None),
+ Schema::AllOf(schema) => (schema.description, None, None),
+ Schema::OneOf(schema) => (schema.description, None, None),
+ Schema::Array(schema) => (
schema.description,
None,
Some(String::from("Can be specified more than once.")),
diff --git a/proxmox-schema/src/schema.rs b/proxmox-schema/src/schema.rs
index ddbbacd4..df87e070 100644
--- a/proxmox-schema/src/schema.rs
+++ b/proxmox-schema/src/schema.rs
@@ -595,7 +595,7 @@ impl ArraySchema {
/// Verify JSON value using an `ArraySchema`.
pub fn verify_json(&self, data: &Value) -> Result<(), Error> {
let list = match data {
- Value::Array(ref list) => list,
+ Value::Array(list) => list,
Value::Object(_) => bail!("Expected array - got object."),
_ => bail!("Expected array - got scalar value."),
};
@@ -1078,7 +1078,7 @@ pub trait ObjectSchemaType: private::Sealed + Send + Sync {
/// Verify JSON value using an object schema.
fn verify_json(&self, data: &Value) -> Result<(), Error> {
let map = match data {
- Value::Object(ref map) => map,
+ Value::Object(map) => map,
Value::Array(_) => bail!("Expected object - got array."),
_ => bail!("Expected object - got scalar value."),
};
@@ -1272,7 +1272,7 @@ impl ObjectSchemaType for OneOfSchema {
fn verify_json(&self, data: &Value) -> Result<(), Error> {
let map = match data {
- Value::Object(ref map) => map,
+ Value::Object(map) => map,
Value::Array(_) => bail!("Expected object - got array."),
_ => bail!("Expected object - got scalar value."),
};
diff --git a/rustfmt.toml b/rustfmt.toml
index 3a26366d..f216078d 100644
--- a/rustfmt.toml
+++ b/rustfmt.toml
@@ -1 +1 @@
-edition = "2021"
+edition = "2024"
--
2.39.5
More information about the pbs-devel
mailing list