sarekt icon indicating copy to clipboard operation
sarekt copied to clipboard

Commit a Cargo.lock

Open Joey9801 opened this issue 4 years ago • 1 comments

If this repo is cloned + built, rustc emits a large number of errors that look like:

error[E0308]: mismatched types
   --> src\renderer\vulkan\vulkan_renderer\mod.rs:606:7
    |
606 |       instance,
    |       ^^^^^^^^ expected struct `ash::instance::Instance`, found a different struct `ash::instance::Instance`
    |
    = note: perhaps two different versions of crate `ash` are being used?

This is because the Cargo.toml in this repo lists ash = "0.30.0" as a dependency, vk-mem 0.2.2 lists ash >= "0.27.1", and there is no Cargo.lock file in this repo. Cargo doesn't know that the two Ash dependencies must be the same, so Ash versions 0.30.0 and 0.31.0 both get included.

I manually fiddled with the generated Cargo.lock to confirm this was the only issue (by editing the entry for vk-mem to lock its Ash to ash 0.30.0). To fix this properly the canonical Cargo.lock file should be added to this repo.

cargo 1.42.0 (86334295e 2020-01-31) rustc 1.42.0 (b8cedc004 2020-03-09) Microsoft Windows 10 Pro, Version 10.0.18363 Build 18363

Joey9801 avatar Jun 02 '20 10:06 Joey9801

I've known about this issue for a bit and I don't think I want to commit the lock file but instead use patch to restrict the ash version.

Does that work for you? If so I'll do it or take that pr :)

If not I'll look into it. Thanks for lighting a fire under my butt on this.

brandonpollack23 avatar Jun 02 '20 16:06 brandonpollack23