cargo-semver-checks icon indicating copy to clipboard operation
cargo-semver-checks copied to clipboard

Scan your Rust crate for semver violations.

Results 175 cargo-semver-checks issues
Sort by recently updated
recently updated
newest added

### Describe your use case It is not clear between what cargo-semver-check compares the rustdocs and how it generates them (so it is not clear that the --baseline-version and similar...

A-docs
C-enhancement

### Describe your use case Due to changes in the rustdoc, the trait items defined in external crates are no longer present in the generated rustdoc. A temporary solution was...

C-enhancement

Right now, if a user runs `cargo-semver-checks` on a new package that hasn't been uploaded to crates.io, they'll get a fairly opaque error message saying the crate was "not found...

A-cli
C-enhancement

Currently, the schema that lints query does not represent type information. This means that lints like "changed the type of a pub field" can't be written since we can't compare...

A-lint
C-enhancement

### Issue overview I found out about this project and then recently happened to [read this interesting article](https://smallcultfollowing.com/babysteps/blog/2022/04/12/implied-bounds-and-perfect-derive/#psa-removing-bounds-not-always-semver-compliant) which included a note about an existing "semver hazard": > Interestingly, while...

With #126 and #131, we should shortly be able to support multiple rustdoc format versions simultaneously. But how many of them, and which ones? The downside to supporting too many...

A-docs
C-enhancement

### Describe your use case We have lints for when a `struct` changes "kind": - [`tuple_struct_to_plain_struct`](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/src/lints/tuple_struct_to_plain_struct.ron) - [`unit_struct_changed_kind`](https://github.com/obi1kenobi/cargo-semver-checks/blob/main/src/lints/unit_struct_changed_kind.ron) However, currently `cargo-semver-checks` does not check when an enum variant changes kind...

A-lint
C-enhancement
E-help-wanted
E-mentor

Should add another lint for #870, particularly `non-sealed trait removed a default impl for a trait method`. Fixes #294. I am not sure if the `object_safe @filter(op: "=", value: ["$true"])`...

We can now query whether lints are sealed or not: https://github.com/obi1kenobi/trustfall-rustdoc-adapter/pull/343 ```graphql { Crate { item { ... on Trait { name @output sealed @output } } } } ```...

A-lint
E-help-wanted
E-mentor

Many of the rustdoc JSON files we parse are large — from a few MB to ~500MB in size. In the largest cases, we spend ~5s parsing JSON per `cargo-semver-checks`...

A-cli
C-enhancement
E-help-wanted
E-mentor