ch2-mandelbrot: could not compile `num-bigint` (lib) due to 4 previous errors
Hello there, I just want to run mandelbrot code but after I did cargo run I get this output:
Compiling num-bigint v0.3.0
error[E0308]: mismatched types
--> C:\Users\user\.cargo\registry\src\index.crates.io-6f17d22bba15001f\num-bigint-0.3.0\src\biguint.rs:198:19
|
198 | .div_ceil(&big_digit::BITS.into())
| -------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `&_`
| |
| arguments to this method are incorrect
|
= note: expected type `u64`
found reference `&_`
note: method defined here
--> C:\Users\user\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\num\mod.rs:1166:5
|
1166 | / uint_impl! {
1167 | | Self = u64,
1168 | | ActualT = u64,
1169 | | SignedT = i64,
... |
1183 | | bound_condition = "",
1184 | | }
| |_____^
= note: this error originates in the macro `uint_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider removing the borrow
|
198 - .div_ceil(&big_digit::BITS.into())
198 + .div_ceil(big_digit::BITS.into())
|
error[E0308]: mismatched types
--> C:\Users\user\.cargo\registry\src\index.crates.io-6f17d22bba15001f\num-bigint-0.3.0\src\biguint.rs:1700:50
|
1700 | let root_scale = extra_bits.div_ceil(&n64);
| -------- ^^^^ expected `u64`, found `&u64`
| |
| arguments to this method are incorrect
|
note: method defined here
--> C:\Users\user\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\num\mod.rs:1166:5
|
1166 | / uint_impl! {
1167 | | Self = u64,
1168 | | ActualT = u64,
1169 | | SignedT = i64,
... |
1183 | | bound_condition = "",
1184 | | }
| |_____^
= note: this error originates in the macro `uint_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider removing the borrow
|
1700 - let root_scale = extra_bits.div_ceil(&n64);
1700 + let root_scale = extra_bits.div_ceil(n64);
|
error[E0308]: mismatched types
--> C:\Users\user\.cargo\registry\src\index.crates.io-6f17d22bba15001f\num-bigint-0.3.0\src\biguint.rs:2119:19
|
2119 | .div_ceil(&u64::from(bits))
| -------- ^^^^^^^^^^^^^^^^ expected `u64`, found `&u64`
| |
| arguments to this method are incorrect
|
note: method defined here
--> C:\Users\user\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\num\mod.rs:1166:5
|
1166 | / uint_impl! {
1167 | | Self = u64,
1168 | | ActualT = u64,
1169 | | SignedT = i64,
... |
1183 | | bound_condition = "",
1184 | | }
| |_____^
= note: this error originates in the macro `uint_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider removing the borrow
|
2119 - .div_ceil(&u64::from(bits))
2119 + .div_ceil(u64::from(bits))
|
error[E0308]: mismatched types
--> C:\Users\user\.cargo\registry\src\index.crates.io-6f17d22bba15001f\num-bigint-0.3.0\src\biguint.rs:2147:19
|
2147 | .div_ceil(&u64::from(bits))
| -------- ^^^^^^^^^^^^^^^^ expected `u64`, found `&u64`
| |
| arguments to this method are incorrect
|
note: method defined here
--> C:\Users\user\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\num\mod.rs:1166:5
|
1166 | / uint_impl! {
1167 | | Self = u64,
1168 | | ActualT = u64,
1169 | | SignedT = i64,
... |
1183 | | bound_condition = "",
1184 | | }
| |_____^
= note: this error originates in the macro `uint_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider removing the borrow
|
2147 - .div_ceil(&u64::from(bits))
2147 + .div_ceil(u64::from(bits))
|
For more information about this error, try `rustc --explain E0308`.
error: could not compile `num-bigint` (lib) due to 4 previous errors
I don't understand which line of my code provides this error 🤷♂️
I use RustRover from JetBrains and attach Cargo.toml:
[package]
name = "ch2-mandelbrot"
version = "0.1.0"
authors = ["Tim McNamara <[email protected]>"]
edition = "2018"
[dependencies]
num = "0.3"
Everything I did before are:
-
cargo install cargo-edit -
cargo add num -
cargo run
solved by command like below
cargo update
cargo run
Resolved, thx, @ruokeqx
Updating cargo and re-running worked for me too! Thanks, @ruokeqx
Ran into the same issue... It seems strange to me that this could happen at all, isn't Cargo supposed to ensure proper versions and point releases shouldn't introduce breaking changes?
I encountered the same issue.
It seemed like there was a bug in num_bigint? cargo update resulted in Updating num-bigint v0.3.0 -> v0.3.3 (latest: v0.4.6) (and other num crate updates). Perhaps a version bump is required in Cargo.toml.