Skip to content

Failure to compile against mdbook v0.4.32

I'm guessing this is related to the updated dependencies in 0.4.32.

To replicate:

cargo install mdbook mdbook-variables

Log:

310.5    Compiling mdbook-variables v0.2.2
310.6 error[E0308]: mismatched types
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/mdbook-variables-0.2.2/src/lib.rs:37:24
310.6    |
310.6 37 |                 if let Value::Boolean(enabled) = env_config {
310.6    |                        ^^^^^^^^^^^^^^^^^^^^^^^   ---------- this expression has type `&toml::value::Value`
310.6    |                        |
310.6    |                        expected `toml::value::Value`, found `Value`
310.6    |
310.6    = note: `Value` and `toml::value::Value` have similar names, but are actually distinct types
310.6 note: `Value` is defined in crate `toml`
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/toml-0.5.11/src/value.rs:22:1
310.6    |
310.6 22 | pub enum Value {
310.6    | ^^^^^^^^^^^^^^
310.6 note: `toml::value::Value` is defined in crate `toml`
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/toml-0.7.6/src/value.rs:25:1
310.6    |
310.6 25 | pub enum Value {
310.6    | ^^^^^^^^^^^^^^
310.6    = note: perhaps two different versions of crate `toml` are being used?
310.6
310.6 error[E0308]: mismatched types
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/mdbook-variables-0.2.2/src/lib.rs:46:21
310.6    |
310.6 46 |         if let Some(Value::Table(vars)) = variables {
310.6    |                     ^^^^^^^^^^^^^^^^^^    --------- this expression has type `Option<&toml::value::Value>`
310.6    |                     |
310.6    |                     expected `toml::value::Value`, found `Value`
310.6    |
310.6    = note: `Value` and `toml::value::Value` have similar names, but are actually distinct types
310.6 note: `Value` is defined in crate `toml`
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/toml-0.5.11/src/value.rs:22:1
310.6    |
310.6 22 | pub enum Value {
310.6    | ^^^^^^^^^^^^^^
310.6 note: `toml::value::Value` is defined in crate `toml`
310.6   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/toml-0.7.6/src/value.rs:25:1
310.6    |
310.6 25 | pub enum Value {
310.6    | ^^^^^^^^^^^^^^
310.6    = note: perhaps two different versions of crate `toml` are being used?

Not sure of a workaround at the moment, trying to find the right combo of cargo install commands 😄 , but when I work it out I'll update this ticket.