* [PATCH v1 proxmox-backup 1/8] tree-wide: fix clippy::useless_borrows_in_formatting
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 2/8] tape: fix clippy::question_mark Robert Obkircher
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
cargo clippy --fix -- -A clippy::all -D clippy::useless_borrows_in_formatting
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
src/api2/access/mod.rs | 2 +-
src/api2/admin/datastore.rs | 4 ++--
src/api2/config/datastore.rs | 2 +-
src/api2/node/disks/directory.rs | 2 +-
src/api2/node/disks/zfs.rs | 2 +-
src/api2/node/services.rs | 2 +-
src/server/verify_job.rs | 2 +-
7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/api2/access/mod.rs b/src/api2/access/mod.rs
index 2b38806c0..b6ea58317 100644
--- a/src/api2/access/mod.rs
+++ b/src/api2/access/mod.rs
@@ -207,7 +207,7 @@ pub fn list_permissions(
path: &str,
) -> HashSet<String> {
for (sub_path, child_node) in node.children {
- let sub_path = format!("{}/{}", path, &sub_path);
+ let sub_path = format!("{}/{}", path, sub_path);
paths = populate_acl_paths(paths, child_node, &sub_path);
paths.insert(sub_path);
}
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index 3367fb2c1..e286784e8 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -1453,7 +1453,7 @@ pub fn download_file(
tokio_util::codec::FramedRead::new(file, tokio_util::codec::BytesCodec::new())
.map_ok(|bytes| bytes.freeze())
.map_err(move |err| {
- eprintln!("error during streaming of '{:?}' - {}", &path, err);
+ eprintln!("error during streaming of '{:?}' - {}", path, err);
err
});
let body = Body::wrap_stream(payload);
@@ -2803,7 +2803,7 @@ async fn do_unmount(store: String, auth_id: Authid, to_stdout: bool) -> Result<V
sock,
&format!(
"{{\"command\":\"update-datastore-cache\",\"args\":\"{}\"}}\n",
- &store
+ store
),
)
.await;
diff --git a/src/api2/config/datastore.rs b/src/api2/config/datastore.rs
index e7028480c..9f1351233 100644
--- a/src/api2/config/datastore.rs
+++ b/src/api2/config/datastore.rs
@@ -667,7 +667,7 @@ pub fn update_datastore(
sock,
&format!(
"{{\"command\":\"update-datastore-cache\",\"args\":\"{}\"}}\n",
- &name
+ name
),
)
.await;
diff --git a/src/api2/node/disks/directory.rs b/src/api2/node/disks/directory.rs
index 573e11744..c0db8e4b4 100644
--- a/src/api2/node/disks/directory.rs
+++ b/src/api2/node/disks/directory.rs
@@ -185,7 +185,7 @@ pub fn create_datastore_disk(
bail!("disk '{}' is already in use.", disk);
}
- let mount_point = format!("{}/{}", DATASTORE_MOUNT_DIR, &name);
+ let mount_point = format!("{}/{}", DATASTORE_MOUNT_DIR, name);
// check if the default path exists already.
// bail if it is not empty or another filesystem mounted on top
let default_path = std::path::PathBuf::from(&mount_point);
diff --git a/src/api2/node/disks/zfs.rs b/src/api2/node/disks/zfs.rs
index 7a62e3f70..254311291 100644
--- a/src/api2/node/disks/zfs.rs
+++ b/src/api2/node/disks/zfs.rs
@@ -210,7 +210,7 @@ pub fn create_zpool(
bail!("{:?} needs at least {} disks.", raidlevel, min_disks);
}
- let mount_point = format!("/mnt/datastore/{}", &name);
+ let mount_point = format!("/mnt/datastore/{}", name);
// check if the default path does exist already and bail if it does
// otherwise 'zpool create' aborts after partitioning, but before creating the pool
diff --git a/src/api2/node/services.rs b/src/api2/node/services.rs
index 0f1b4d031..50763a215 100644
--- a/src/api2/node/services.rs
+++ b/src/api2/node/services.rs
@@ -185,7 +185,7 @@ fn get_service_state(service: String, _param: Value) -> Result<Value, Error> {
}
fn run_service_command(service: &str, cmd: &str, auth_id: Authid) -> Result<Value, Error> {
- let workerid = format!("srv{}", &cmd);
+ let workerid = format!("srv{}", cmd);
let cmd = match cmd {
"start" | "stop" | "restart" => cmd.to_string(),
diff --git a/src/server/verify_job.rs b/src/server/verify_job.rs
index ecc04d4af..adb84358f 100644
--- a/src/server/verify_job.rs
+++ b/src/server/verify_job.rs
@@ -22,7 +22,7 @@ pub fn do_verification_job(
let ignore_verified_snapshots = verification_job.ignore_verified.unwrap_or(true);
// FIXME encode namespace here for filter/ACL check?
- let job_id = format!("{}:{}", &verification_job.store, job.jobname());
+ let job_id = format!("{}:{}", verification_job.store, job.jobname());
let worker_type = job.jobtype().to_string();
let upid_str = WorkerTask::new_thread(
&worker_type,
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 2/8] tape: fix clippy::question_mark
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 1/8] tree-wide: fix clippy::useless_borrows_in_formatting Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 3/8] api: fix clippy::unnecessary_lazy_evaluations Robert Obkircher
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
pbs-tape/src/blocked_writer.rs | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/pbs-tape/src/blocked_writer.rs b/pbs-tape/src/blocked_writer.rs
index 7380af243..d0f64473e 100644
--- a/pbs-tape/src/blocked_writer.rs
+++ b/pbs-tape/src/blocked_writer.rs
@@ -98,10 +98,8 @@ impl<W: BlockWrite> BlockedWriter<W> {
impl<W: BlockWrite> TapeWrite for BlockedWriter<W> {
fn write_all(&mut self, mut data: &[u8]) -> Result<bool, std::io::Error> {
while !data.is_empty() {
- match self.write(data) {
- Ok(n) => data = &data[n..],
- Err(e) => return Err(e),
- }
+ let n = self.write(data)?;
+ data = &data[n..]
}
Ok(self.logical_end_of_media)
}
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 3/8] api: fix clippy::unnecessary_lazy_evaluations
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 1/8] tree-wide: fix clippy::useless_borrows_in_formatting Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 2/8] tape: fix clippy::question_mark Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 4/8] cargo: update minimum rust version to 1.91 Robert Obkircher
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
src/api2/node/tasks.rs | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/api2/node/tasks.rs b/src/api2/node/tasks.rs
index 4786820a3..960ec2132 100644
--- a/src/api2/node/tasks.rs
+++ b/src/api2/node/tasks.rs
@@ -179,10 +179,9 @@ pub fn tasktype(state: &TaskState) -> TaskStateType {
}
fn into_task_list_item(info: proxmox_rest_server::TaskListInfo) -> pbs_api_types::TaskListItem {
- let (endtime, status) = info.state.map_or_else(
- || (None, None),
- |a| (Some(a.endtime()), Some(a.to_string())),
- );
+ let (endtime, status) = info
+ .state
+ .map_or((None, None), |a| (Some(a.endtime()), Some(a.to_string())));
pbs_api_types::TaskListItem {
upid: info.upid_str,
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 4/8] cargo: update minimum rust version to 1.91
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (2 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 3/8] api: fix clippy::unnecessary_lazy_evaluations Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 5/8] tree-wide: mark extern blocks as unsafe and add some safety comments Robert Obkircher
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
proxmox-sys uses PathBuf::add_extension, which was stabilized in 1.91.
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index 6d82326c0..4340818bb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@ authors = [
edition = "2021"
license = "AGPL-3"
repository = "https://git.proxmox.com/?p=proxmox-backup.git"
-rust-version = "1.81"
+rust-version = "1.91"
[package]
name = "proxmox-backup"
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 5/8] tree-wide: mark extern blocks as unsafe and add some safety comments
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (3 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 4/8] cargo: update minimum rust version to 1.91 Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 6/8] tree-wide: remove redundant ref keyword in pattern matches Robert Obkircher
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
Add the unsafe keyword, because it will be required in the 2024
edition. It has been accepted since rust 1.82.
Also add some safety comments, and adjust the constness of a pointer
to better match the C header. No functional change intended.
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
pbs-tape/src/sgutils2.rs | 19 ++++++++++++++++---
pbs-tools/src/cert.rs | 6 +++++-
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/pbs-tape/src/sgutils2.rs b/pbs-tape/src/sgutils2.rs
index 908d50b2f..363383aea 100644
--- a/pbs-tape/src/sgutils2.rs
+++ b/pbs-tape/src/sgutils2.rs
@@ -363,8 +363,11 @@ pub const SCSI_PT_RESULT_SENSE: c_int = 2;
pub const SCSI_PT_RESULT_TRANSPORT_ERR: c_int = 3;
pub const SCSI_PT_RESULT_OS_ERR: c_int = 4;
+// SAFETY:
+// * We link against libsgutils2 because of the link attribute.
+// * The signatures match the C definitions in /usr/include/scsi/{sg_lib,sg_pt}.h
#[link(name = "sgutils2")]
-extern "C" {
+unsafe extern "C" {
#[allow(dead_code)]
fn scsi_pt_open_device(device_name: *const c_char, read_only: bool, verbose: c_int) -> c_int;
@@ -398,8 +401,8 @@ extern "C" {
asc: c_int,
ascq: c_int,
buff_len: c_int,
- buffer: *mut c_char,
- ) -> *const c_char;
+ buff: *mut c_char,
+ ) -> *mut c_char;
}
/// Safe interface to run RAW SCSI commands
@@ -413,6 +416,10 @@ pub struct SgRaw<'a, F> {
/// Get the string associated with ASC/ASCQ values
pub fn get_asc_ascq_string(asc: u8, ascq: u8) -> String {
let mut buffer = [0u8; 1024];
+ // SAFETY:
+ // * asc and ascq are within the expected u8 range
+ // * The length fits into c_int without overflow.
+ // * as_mut_ptr returns writable memory of the corresponding length.
let res = unsafe {
sg_get_asc_ascq_str(
asc as c_int,
@@ -427,6 +434,12 @@ pub fn get_asc_ascq_string(asc: u8, ascq: u8) -> String {
// just to be safe
bail!("unexpected NULL ptr");
}
+ // SAFETY:
+ // * sg_get_asc_ascq_str wrote a zero terminated string into buffer.
+ // * It returns the pointer to the start of the buffer, which is not
+ // null, and valid for reads, because it hasn't been invalidated
+ // by another use of buffer.
+ // * buffer outlives the created CStr
Ok(unsafe { CStr::from_ptr(res) }.to_str()?.to_owned())
})
.unwrap_or_else(|_err: Error| format!("ASC={asc:02x}x, ASCQ={ascq:02x}x"))
diff --git a/pbs-tools/src/cert.rs b/pbs-tools/src/cert.rs
index 61ccce952..2a8dea6e5 100644
--- a/pbs-tools/src/cert.rs
+++ b/pbs-tools/src/cert.rs
@@ -13,7 +13,11 @@ use openssl::x509::{GeneralName, X509};
#[allow(non_camel_case_types)]
type ASN1_TIME = <openssl::asn1::Asn1TimeRef as ForeignTypeRef>::CType;
-extern "C" {
+// SAFETY:
+// * The function signature matches the openssl C API.
+// * The symbol is guaranteed to be available because the openssl
+// crate links against the native library.
+unsafe extern "C" {
fn ASN1_TIME_to_tm(s: *const ASN1_TIME, tm: *mut libc::tm) -> libc::c_int;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 6/8] tree-wide: remove redundant ref keyword in pattern matches
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (4 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 5/8] tree-wide: mark extern blocks as unsafe and add some safety comments Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 7/8] tree-wide: add empty use<> bounds to return position impl traits Robert Obkircher
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
These are no longer necessary and do not compile in the 2024 edition.
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
pbs-client/src/catalog_shell.rs | 2 +-
| 2 +-
src/api2/config/sync.rs | 2 +-
src/tape/inventory.rs | 10 ++++------
src/tape/media_pool.rs | 2 +-
src/tape/media_set.rs | 2 +-
6 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/pbs-client/src/catalog_shell.rs b/pbs-client/src/catalog_shell.rs
index 3a923648b..e74725af8 100644
--- a/pbs-client/src/catalog_shell.rs
+++ b/pbs-client/src/catalog_shell.rs
@@ -488,7 +488,7 @@ impl Shell {
accessor: &Accessor,
follow_symlinks: &mut Option<usize>,
) -> Result<(), Error> {
- if let Some(ref mut symlink_count) = follow_symlinks {
+ if let Some(symlink_count) = follow_symlinks {
*symlink_count += 1;
if *symlink_count > MAX_SYMLINK_COUNT {
bail!("too many levels of symbolic links");
--git a/pbs-client/src/pxar/extract.rs b/pbs-client/src/pxar/extract.rs
index 2ef3657a6..a1d4eb7c2 100644
--- a/pbs-client/src/pxar/extract.rs
+++ b/pbs-client/src/pxar/extract.rs
@@ -147,7 +147,7 @@ where
let mut prelude_file = open_options
.open(path)
.with_context(|| format!("error creating prelude file '{path:?}'"))?;
- if let pxar::EntryKind::Prelude(ref prelude) = entry.kind() {
+ if let pxar::EntryKind::Prelude(prelude) = entry.kind() {
prelude_file.write_all(prelude.as_ref())?;
} else {
info!("unexpected entry kind for prelude");
diff --git a/src/api2/config/sync.rs b/src/api2/config/sync.rs
index beed6e7e3..4d1a19c9e 100644
--- a/src/api2/config/sync.rs
+++ b/src/api2/config/sync.rs
@@ -362,7 +362,7 @@ fn keep_previous_key_as_associated(
) {
if let Some(prev) = current_active {
match associated_keys {
- Some(ref mut keys) => {
+ Some(keys) => {
if !keys.contains(prev) {
keys.push(prev.clone());
}
diff --git a/src/tape/inventory.rs b/src/tape/inventory.rs
index 12cca02c6..1ce4570d2 100644
--- a/src/tape/inventory.rs
+++ b/src/tape/inventory.rs
@@ -532,12 +532,10 @@ impl Inventory {
return i64::MAX;
}
MediaSetPolicy::AlwaysCreate => set_start_time,
- MediaSetPolicy::CreateAt(ref event) => {
- match event.compute_next_event(set_start_time) {
- Ok(Some(next)) => next,
- Ok(None) | Err(_) => return i64::MAX,
- }
- }
+ MediaSetPolicy::CreateAt(event) => match event.compute_next_event(set_start_time) {
+ Ok(Some(next)) => next,
+ Ok(None) | Err(_) => return i64::MAX,
+ },
},
};
diff --git a/src/tape/media_pool.rs b/src/tape/media_pool.rs
index 0cad7ab7d..fdd613d2c 100644
--- a/src/tape/media_pool.rs
+++ b/src/tape/media_pool.rs
@@ -325,7 +325,7 @@ impl MediaPool {
let mut list = Vec::new();
for opt_uuid in self.current_media_set.media_list().iter() {
match opt_uuid {
- Some(ref uuid) => list.push(uuid),
+ Some(uuid) => list.push(uuid),
None => bail!("current_media_list failed - media set is incomplete"),
}
}
diff --git a/src/tape/media_set.rs b/src/tape/media_set.rs
index 147fb643b..29de98e9e 100644
--- a/src/tape/media_set.rs
+++ b/src/tape/media_set.rs
@@ -59,7 +59,7 @@ impl MediaSet {
match self.media_list.last() {
None => None,
Some(None) => None,
- Some(Some(ref last_uuid)) => Some(last_uuid),
+ Some(Some(last_uuid)) => Some(last_uuid),
}
}
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 7/8] tree-wide: add empty use<> bounds to return position impl traits
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (5 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 6/8] tree-wide: remove redundant ref keyword in pattern matches Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 8/8] cargo: remove unused dependencies Robert Obkircher
2026-11-05 11:07 ` applied-series: [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Fabian Grünbichler
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
The 2024 edition allows the hidden types of a return position impl
trait to use any generic parameter in scope.
Explicitly opt out of capturing more lifetimes than necessary, so the
callers continue to compile.
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
pbs-client/src/http_client.rs | 2 +-
proxmox-file-restore/src/block_driver.rs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pbs-client/src/http_client.rs b/pbs-client/src/http_client.rs
index a6fcafcfd..dc7c81c38 100644
--- a/pbs-client/src/http_client.rs
+++ b/pbs-client/src/http_client.rs
@@ -1175,7 +1175,7 @@ impl H2Client {
&self,
request: Request<()>,
data: Option<bytes::Bytes>,
- ) -> impl Future<Output = Result<h2::client::ResponseFuture, Error>> {
+ ) -> impl Future<Output = Result<h2::client::ResponseFuture, Error>> + use<> {
self.h2
.clone()
.ready()
diff --git a/proxmox-file-restore/src/block_driver.rs b/proxmox-file-restore/src/block_driver.rs
index a497cacad..8e4155c4e 100644
--- a/proxmox-file-restore/src/block_driver.rs
+++ b/proxmox-file-restore/src/block_driver.rs
@@ -78,7 +78,7 @@ pub enum BlockDriverType {
}
impl BlockDriverType {
- fn resolve(&self) -> impl BlockRestoreDriver {
+ fn resolve(&self) -> impl BlockRestoreDriver + use<> {
match self {
BlockDriverType::Qemu => QemuBlockDriver {},
}
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v1 proxmox-backup 8/8] cargo: remove unused dependencies
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (6 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 7/8] tree-wide: add empty use<> bounds to return position impl traits Robert Obkircher
@ 2026-11-03 11:28 ` Robert Obkircher
2026-11-05 11:07 ` applied-series: [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Fabian Grünbichler
8 siblings, 0 replies; 10+ messages in thread
From: Robert Obkircher @ 2026-11-03 11:28 UTC (permalink / raw)
To: pbs-devel
syslog seems to be unused and the others were already removed from
debian/control in the past.
Signed-off-by: Robert Obkircher <r.obkircher@proxmox.com>
---
Cargo.toml | 6 ------
debian/control | 1 -
2 files changed, 7 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 4340818bb..ed5c6f42c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -122,7 +122,6 @@ pbs-tools = { path = "pbs-tools" }
# regular crates
anyhow = "1.0"
async-trait = "0.1.56"
-apt-pkg-native = "0.3.2"
bitflags = "2.4"
bytes = "1.0"
cidr = "0.3"
@@ -131,11 +130,9 @@ const_format = "0.2"
crossbeam-channel = "0.5"
endian_trait = { version = "0.6", features = ["arrays"] }
env_logger = "0.11"
-flate2 = "1.0"
foreign-types = "0.3"
futures = "0.3"
h2 = { version = "0.4", features = [ "stream" ] }
-handlebars = "3.0"
hex = "0.4.3"
hickory-resolver = { version = "0.24.1", default-features = false, features = [ "system-config", "tokio-runtime" ] }
http-body-util = "0.1"
@@ -155,8 +152,6 @@ regex = "1.5.5"
rustyline = "14"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
-siphasher = "0.3"
-syslog = "6"
tar = "0.4"
tempfile = "3.15.0"
termcolor = "1.1.2"
@@ -201,7 +196,6 @@ regex.workspace = true
rustyline.workspace = true
serde.workspace = true
serde_json.workspace = true
-syslog.workspace = true
termcolor.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
diff --git a/debian/control b/debian/control
index 37e1330d1..46155ed37 100644
--- a/debian/control
+++ b/debian/control
@@ -142,7 +142,6 @@ Build-Depends: debhelper (>= 12~),
librust-serde-1+default-dev,
librust-serde-1+derive-dev,
librust-serde-json-1+default-dev,
- librust-syslog-6+default-dev,
librust-tar-0.4+default-dev,
librust-termcolor-1+default-dev (>= 1.1.2-~~),
librust-tempfile-3+default-dev (>= 3.15.0),
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread* applied-series: [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities
2026-11-03 11:28 [PATCH v1 proxmox-backup 0/8] fix warnings and rust edition incompatibilities Robert Obkircher
` (7 preceding siblings ...)
2026-11-03 11:28 ` [PATCH v1 proxmox-backup 8/8] cargo: remove unused dependencies Robert Obkircher
@ 2026-11-05 11:07 ` Fabian Grünbichler
8 siblings, 0 replies; 10+ messages in thread
From: Fabian Grünbichler @ 2026-11-05 11:07 UTC (permalink / raw)
To: pbs-devel, Robert Obkircher
On Tue, 03 Nov 2026 12:28:36 +0100, Robert Obkircher wrote:
> Apply some clippy suggestions, prepare for a future edition upgrade,
> and remove unused dependencies.
>
> To upgrade to the 2024 edition, we would still have to wrap some
> std::env functions in unsafe, and review countless drop order warnings
> reported by `cargo fix --edition`.
>
> [...]
Applied, thanks!
[1/8] tree-wide: fix clippy::useless_borrows_in_formatting
commit: 83a0b93ea9b0ee0a8dd23662befabd0ae54121fe
[2/8] tape: fix clippy::question_mark
commit: 48798a6fded29d7a9a8bd7c7f7e5373c03bac31f
[3/8] api: fix clippy::unnecessary_lazy_evaluations
commit: f0a8b8fa500e5c1d09eceb4dd8156a48591f0350
[4/8] cargo: update minimum rust version to 1.91
commit: 20cfd9527eebfc5e5aca4ff45b0770ae04dc958d
[5/8] tree-wide: mark extern blocks as unsafe and add some safety comments
commit: 5fbcd3e6c68d125d1c5542ea9829a033ab2947be
[6/8] tree-wide: remove redundant ref keyword in pattern matches
commit: 8ce5f14a3061115366d37e72f15e7a66c51b6bef
[7/8] tree-wide: add empty use<> bounds to return position impl traits
commit: 18d546ffd08cb9d809f1746d9dfac7c76a0dac94
[8/8] cargo: remove unused dependencies
commit: 1d13c56db3d1b212accb8d675429fe61e721c098
Best regards,
--
Fabian Grünbichler <f.gruenbichler@proxmox.com>
^ permalink raw reply [flat|nested] 10+ messages in thread