Skip to content

Update SQLx version to avoid future incompatibilities #41

@joshua-laughner

Description

@joshua-laughner

Building with Rust 1.93.1 warns me to run cargo report future-incompatibilities --id 3, and doing that spits out the following warnings:

The following warnings were discovered during the build. These warnings are an
indication that the packages contain code that will become an error in a
future release of Rust. These warnings typically cover changes to close
soundness problems, unintended or undocumented behavior, or critical problems
that cannot be fixed in a backwards-compatible fashion, and are not expected
to be in wide use.

Each warning should contain a link for more information on what the warning
means and how to resolve it.

to solve this problem, you can try the following approaches:

- update to a newer version to see if the issue has been fixed
  - num-bigint-dig v0.8.4 has the following newer versions available: 0.8.5, 0.8.6, 0.9.0, 0.9.1

- ensure the maintainers know of this problem (e.g. creating a bug report if needed)
or even helping with a fix (e.g. by creating a pull request)
  - num-bigint-dig@0.8.4
  - repository: https://github.com/dignifiedquire/num-bigint
  - detailed warning command: `cargo report future-incompatibilities --id 3 --package num-bigint-dig@0.8.4`

- use your own version of the dependency with the `[patch]` section in `Cargo.toml`
For more information, see:
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section

The package `num-bigint-dig v0.8.4` currently triggers the following future incompatibility lints:
> warning: macro `vec` is private
>    --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:490:22
>     |
> 490 |         BigUint::new(vec![1])
>     |                      ^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
>     --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2005:9
>      |
> 2005 |         vec![0]
>      |         ^^^
>      |
>      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>      = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
>     --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2027:16
>      |
> 2027 |         return vec![b'0'];
>      |                ^^^
>      |
>      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>      = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
>     --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2313:13
>      |
> 2313 |             vec![0]
>      |             ^^^
>      |
>      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>      = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
>    --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/prime.rs:138:22
>     |
> 138 |     let mut moduli = vec![BigUint::zero(); prime_limit];
>     |                      ^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>
> warning: macro `vec` is private
>    --> /Users/laughner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/bigrand.rs:319:25
>     |
> 319 |         let mut bytes = vec![0u8; bytes_len];
>     |                         ^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #120192 <https://github.com/rust-lang/rust/issues/120192>
>

From cargo tree, it looks like this package is ultimately a dependency of SQLx. I tried updating SQLx to 0.8.x, but it failed to compile because all of the string fields in the Jobs table were being interpreted as Vec<u8> instead of String. This seems to have been reported and fixed for v0.9.0, but until v0.9 is out, I can't update.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions