Giter VIP home page Giter VIP logo

Comments (11)

joshlf avatar joshlf commented on June 17, 2024 1

That appears to work for us, thanks!

from kani.

tautschnig avatar tautschnig commented on June 17, 2024

Actually it seems that, even without any cargo update, suddenly various build actions fail: https://github.com/model-checking/kani/actions/runs/8692459550. No idea what changed here.

from kani.

joshlf avatar joshlf commented on June 17, 2024

We ran into this too: https://github.com/google/zerocopy/actions/runs/8695299265/job/23846059719?pr=1071

from kani.

celinval avatar celinval commented on June 17, 2024

See this thread for the details: https://users.rust-lang.org/t/cannot-compile-simple-tokio-example/109956/3

But basically our nightly version matches the latest released Rust compiler, which has now stabilized proc_macro_byte_character feature. The proc_macro build script checks the Rust compiler version to see whether it needs to enable this feature.

I believe there are three different fixes we can apply:

  1. Update our toolchain version, which will hopefully have that property stabilized.
  2. Change Kani to enable the feature by default for now.
  3. Downgrade the proc_macro version.

from kani.

tautschnig avatar tautschnig commented on June 17, 2024

But I'm still with https://users.rust-lang.org/t/cannot-compile-simple-tokio-example/109956/6: what has changed? Kani neither changed its toolchain version nor the cargo dependencies. So what proc_macro version would be downgrading to when we had something that worked until a couple of hours ago?!

from kani.

celinval avatar celinval commented on June 17, 2024

The proc_macro crate has a new minor version which includes this change. When building a project with cargo without a Cargo.lock file, cargo will download the latest minor version that matches your dependencies specification.

To go around this issue, an user can either ensure their build are locked via Cargo.lock or specify an exact version in their Cargo.toml. Any version previous to the change I just pasted should do the trick.

from kani.

celinval avatar celinval commented on June 17, 2024

Note that the toolchain upgrade will fix this issue as expected.

from kani.

celinval avatar celinval commented on June 17, 2024

@joshlf is this something that is blocking you?

from kani.

joshlf avatar joshlf commented on June 17, 2024

@joshlf is this something that is blocking you?

It is, yeah. We run Kani as part of CI, so it's preventing us from merging PRs (without manual override, which we'd like to avoid if possible). We use the Kani GitHub Action in our CI config rather than invoking cargo kani directly, so I'm not sure whether the Cargo.lock workaround would work for us, although I haven't tried it.

I assume that once the Kani GitHub Action can cut a new release with a more recent nightly toolchain pinned, upgrading to that new version would resolve our issue.

from kani.

celinval avatar celinval commented on June 17, 2024

@joshlf is this something that is blocking you?

It is, yeah. We run Kani as part of CI, so it's preventing us from merging PRs (without manual override, which we'd like to avoid if possible). We use the Kani GitHub Action in our CI config rather than invoking cargo kani directly, so I'm not sure whether the Cargo.lock workaround would work for us, although I haven't tried it.

Thanks for letting us know @joshlf. I would expect the Cargo.lock work around to work as long as there is one in the working directory.

I assume that once the Kani GitHub Action can cut a new release with a more recent nightly toolchain pinned, upgrading to that new version would resolve our issue.

That said, we are considering creating a release with the fix to unblock users without forcing them to create a workaround.

from kani.

celinval avatar celinval commented on June 17, 2024

@joshlf we have now released a new version of Kani which should fix this issue. Please let us know if you are still having trouble.

from kani.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.