Comments (5)
Full test log: cargo-msrv-0.15.1-3-riscv64-check.log
from cargo-msrv.
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.
@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.
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.
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)
- feature: cargo-msrv suggest
- Cargo resolves different versions of dependencies (with different MSRV) from Cargo 1.60 and up HOT 14
- failure in GitLab runner: error: unexpected argument 'sh' found HOT 4
- verification does not respect workspace members with a virtual workspace HOT 4
- The code is hard to read/follow HOT 1
- Split expected and unexpected errors
- Failure on Github Actions HOT 2
- Custom check? HOT 4
- Docker image fails with GLIBC not found error HOT 2
- Use compilation target instead of build machine target for MSRV checks
- v0.16.0-beta.16 release builds failed: third party license files failed to generate HOT 1
- Add `--features` parameter
- Posible to install clippy for using it as a check? HOT 4
- Add `--workspace` flag to subcommand `find`
- Run tests which write to disk in temp dirs
- Coverage is broken due to aHash or crc32c <0.7.0 used in transitive dependency
- check if job result is a clippy false positive
- Add `--strict` flag to cargo msrv verify
- Error when `--manifest-path Cargo.toml`
- No console output for `msrv verify` if `rust-version` is missing or invalid HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cargo-msrv.