Giter VIP home page Giter VIP logo

Comments (5)

SpriteOvO avatar SpriteOvO commented on June 26, 2024

Full test log: cargo-msrv-0.15.1-3-riscv64-check.log

from cargo-msrv.

foresterre avatar foresterre commented on June 26, 2024

These are all integration tests, which depend on Rustup being able to install the older toolchains.

Ideas to resolve the issue:

  • disable the subset of integration tests for riscv64gc
  • port tests to use newer versions, in a manner such that the minimum accessed version would be Rust 1.47.0

What do you think the best course of action would be?

from cargo-msrv.

SpriteOvO avatar SpriteOvO commented on June 26, 2024

@foresterre I haven't read the code carefully, but I think there should be a way to distinguish if the installation failure is caused by the specified target not existing or any other error.

I think skipping all non-existent target errors is a good solution (provided at least one version is installed successfully) so that we can avoid maintaining a minimum support version table for each new architecture.

from cargo-msrv.

Avimitin avatar Avimitin commented on June 26, 2024

In my opinion, cargo-msrv should try to find the minimum supported version binary for a specific arch. Different MSRV on different architecture is more acceptable. We can't ask a developer who working on RISC-V to follow the MSRV generated from x86_64.

For example, if there is a new architecture implementation coming in Rust 1.999999 or whatever, developer will not able to compile some crate with rustc v1.999998, so the MSRV for that architecture should be 1.999999.

from cargo-msrv.

foresterre avatar foresterre commented on June 26, 2024

In my opinion, cargo-msrv should try to find the minimum supported version binary for a specific arch. Different MSRV on different architecture is more acceptable. We can't ask a developer who working on RISC-V to follow the MSRV generated from x86_64.

For example, if there is a new architecture implementation coming in Rust 1.999999 or whatever, developer will not able to compile some crate with rustc v1.999998, so the MSRV for that architecture should be 1.999999.

I agree.

Cargo itself explicitly states that the rust-version key in the Cargo manifest affects all targets in the package. That is, only one MSRV can be set for a package (if you want 'official cargo support').

For a tool like cargo-msrv however, it may very well be desirable to search for the MSRV independently for each target, and maybe optionally set the MSRV per target specifically. It would then be up to the crate developer to decide which MSRV to pick from the set of MSRV's per target (assuming no target will be removed, this might always be the highest MSRV in the set).

from cargo-msrv.

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.