Candid 0.8.4 can not be compiled

Audit found no vulnerabilities.
Executing: cargo build --target wasm32-unknown-unknown --release -p images_ic_rust_backend --locked
Compiling candid v0.8.4
error[E0277]: the trait bound BigUint: From<i64> is not satisfied
→ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/candid-0.8.4/src/types/number.rs:198:42
|
198 | Ok(Nat(BigUint::try_from(v).map_err(|_| {
| ----------------- ^ the trait From<i64> is not implemented for BigUint
| |
| required by a bound introduced by this call
|
= help: the following other types implement trait From<T>:
<BigUint as Fromtypes::number::Nat>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
= note: required for i64 to implement Into<BigUint>
= note: required for BigUint to implement TryFrom<i64>

error[E0277]: the trait bound BigUint: From<i64> is not satisfied
→ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/candid-0.8.4/src/types/number.rs:198:24
|
198 | Ok(Nat(BigUint::try_from(v).map_err(|_| {
| ^^^^^^^^^^^^^^^^^ the trait From<i64> is not implemented for BigUint
|
= help: the following other types implement trait From<T>:
<BigUint as Fromtypes::number::Nat>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
<BigUint as From>
= note: required for i64 to implement Into<BigUint>
= note: required for BigUint to implement TryFrom<i64>

error[E0277]: the trait bound i128: From<BigInt> is not satisfied
→ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/candid-0.8.4/src/de.rs:414:17
|
414 | int.0.try_into().map_err(Error::msg)?
| ^^^^^ -------- required by a bound introduced by this call
| |
| the trait From<BigInt> is not implemented for i128
|
= help: the following other types implement trait From<T>:
<f32 as From>
<f32 as From>
<f32 as From>
<f32 as From>
<f64 as From>
<f64 as From>
<f64 as From>
<f64 as From>
and 68 others
= note: required for BigInt to implement Into<i128>
= note: required for i128 to implement TryFrom<BigInt>
= note: required for BigInt to implement TryInto<i128>

error[E0277]: the trait bound i128: From<BigUint> is not satisfied
→ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/candid-0.8.4/src/de.rs:418:17
|
418 | nat.0.try_into().map_err(Error::msg)?
| ^^^^^ -------- required by a bound introduced by this call
| |
| the trait From<BigUint> is not implemented for i128
|
= help: the following other types implement trait From<T>:
<f32 as From>
<f32 as From>
<f32 as From>
<f32 as From>
<f64 as From>
<f64 as From>
<f64 as From>
<f64 as From>
and 68 others
= note: required for BigUint to implement Into<i128>
= note: required for i128 to implement TryFrom<BigUint>
= note: required for BigUint to implement TryInto<i128>

error[E0277]: the trait bound u128: From<BigUint> is not satisfied
→ /root/.cargo/registry/src/github.com-1ecc6299db9ec823/candid-0.8.4/src/de.rs:432:27
|
432 | let value: u128 = nat.0.try_into().map_err(Error::msg)?;
| ^^^^^ -------- required by a bound introduced by this call
| |
| the trait From<BigUint> is not implemented for u128
|
= help: the following other types implement trait From<T>:
<f32 as From>
<f32 as From>
<f32 as From>
<f32 as From>
<f64 as From>
<f64 as From>
<f64 as From>
<f64 as From>
and 68 others
= note: required for BigUint to implement Into<u128>
= note: required for u128 to implement TryFrom<BigUint>
= note: required for BigUint to implement TryInto<u128>

For more information about this error, try rustc --explain E0277.
error: could not compile candid due to 5 previous errors
Shrink WASM module size.
Building frontend…
WARN: Generating type declarations for canister images_ic_rust_backend:
src/declarations/images_ic_rust_backend/images_ic_rust_backend.did.d.ts
src/declarations/images_ic_rust_backend/images_ic_rust_backend.did.js
src/images_ic_rust_backend/images_ic_rust_backend.did

Error: Failed while trying to deploy canisters.
Caused by: Failed while trying to deploy canisters.
Failed to build call canisters.
Failed while trying to build all canisters.
The build step failed for canister ‘rrkah-fqaaa-aaaaa-aaaaq-cai’ (images_ic_rust_backend) with an embedded error: Failed to build Rust canister ‘images_ic_rust_backend’.: Failed to shrink wasm at /root/projects/images_ic_rust/target/wasm32-unknown-unknown/release/images_ic_rust_backend.wasm.: Could not read the WASM module.: No such file or directory (os error 2)

I cannot reproduce the issue.
I suspect that some dependencies may have wrong versions.
Could you try cargo build without --locked?

i stupidly use nightly version of rust to compile it. i changed my toolchain to stable version and it works.

there is not any hints for changing the version from nightly to stable… only trait bound errors…