Using latest rust 1.89, proxmox-backup-client fails to build, because of implicit autoreference in unsafe block.
See the error log here:
See the error log here:
Code:
Compiling pxar v1.0.0 (/build/pxar)
Compiling enum-as-inner v0.6.1
Compiling rand v0.8.5
Compiling pbs-tools v0.1.0 (/build/proxmox-backup/pbs-tools)
Compiling proxmox-shared-memory v1.0.0 (/build/proxmox/proxmox-shared-memory)
warning: hiding a lifetime that's elided elsewhere is confusing
--> pbs-tools/src/crypt_config.rs:87:24
|
87 | pub fn data_signer(&self) -> openssl::sign::Signer {
| ^^^^^ --------------------- the same lifetime is hidden here
| |
| the lifetime is elided here
|
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
|
87 | pub fn data_signer(&self) -> openssl::sign::Signer<'_> {
| ++++
Compiling async-trait v0.1.88
Compiling data-encoding v2.9.0
Compiling ipnet v2.11.0
<multiple elided lifetimes warnings....>
error: implicit autoref creates a reference to the dereference of a raw pointer
--> /build/pxar/src/decoder/mod.rs:38:14
|
38 | &mut (*ptr.as_mut_ptr())[..]
| ^^----------------^^^^^
| |
| this raw pointer has type `*mut [u8; 4096]`
|
= note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
note: autoref is being applied to this expression, resulting in: `&mut [u8; 4096]`
--> /build/pxar/src/decoder/mod.rs:38:14
|
38 | &mut (*ptr.as_mut_ptr())[..]
| ^^^^^^^^^^^^^^^^^^^
= note: `#[deny(dangerous_implicit_autorefs)]` on by default
help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
|
38 | &mut (&mut (*ptr.as_mut_ptr()))[..]
| +++++ +
<multiple elided lifetimes warnings....>
warning: `pxar` (lib) generated 6 warnings
error: could not compile `pxar` (lib) due to 1 previous error; 6 warnings emitted
warning: build failed, waiting for other jobs to finish...
warning: `pbs-tools` (lib) generated 1 warning