-
Notifications
You must be signed in to change notification settings - Fork 48
Open
Labels
Description
One of the main roles I have in mind for stdx is as tool to measure the compatibility of the larger ecosystem. The stdx-check tool determine whether any given crate was 'compatible' with stdx, serving two purposes:
- By running stdx-check across every crate on crates.io (using cargobomb probably), we could say what percent is compatible, which would inform the development of stdx, and also give users confidence that stdx is actually leading them down the right path.
- Users could run stdx-check on their own crates, to validate their stdx compatibility
At the most basic level I imagine it doing the following:
- Rewriting
./Cargo.tomlto add the a stdx dependency (from git for now perhaps), outputting toCargo-stdx.toml - Running
cargo teston the new manifest to see if it passes - Inspecting the generated lockfile to see if any of the stdx crates have dupes.
Other nice follow on work:
- Support multiple stdx revisions, probably by
include_string their tomls - Verify a crate directly off of crates.io, which would require frobbing their Cargo.tomls.
- Write a tool that runs stdx-check across a list of crates.io crates and generates a report with the results, indicating stdx ecosystem compatibility.