Skip to content

Newer generic-array versions cause "deprecated" warnings in Arti

Arti doesn't include generic-array directly, but does through a re-export from the cipher library. If running a cargo update, cargo will upgrade to a generic-array version >0.14.7. But this version has deprecation warnings like the following:

warning: use of deprecated struct `cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
  --> crates/tor-llcrypto/src/cipher.rs:28:32
   |
28 |     use cipher::generic_array::GenericArray;
   |                                ^^^^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated struct `cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
  --> crates/tor-llcrypto/src/cipher.rs:47:22
   |
47 |         fn new(key: &GenericArray<u8, Self::KeySize>) -> Self {
   |                      ^^^^^^^^^^^^

warning: use of deprecated struct `cipher::generic_array::GenericArray`: please upgrade to generic-array 1.x
  --> crates/tor-llcrypto/src/cipher.rs:75:51
   |
75 |         fn inner_iv_init(inner: Self::Inner, iv: &GenericArray<u8, Self::IvSize>) -> Self {
   |                                                   ^^^^^^^^^^^^

[...]

There's not much we can do here, other than wait for cipher to begin using generic-array 1.x, and then update Arti to work with the new version.

This is being tracked upstream at https://github.com/RustCrypto/traits/issues/2036.

Edited by opara