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

In approximate order of increasing difficulty: - [x] expose auto-trait / unsafe trait info on [`type Trait`](https://github.com/obi1kenobi/trustfall-rustdoc-adapter/blob/0b1f021c22aab6e48f38156e52c7b8331447149a/src/rustdoc_schema.graphql#L382) - new lints enabled by this: - [trait became unsafe](https://github.com/obi1kenobi/cargo-semver-checks/issues/231) (so its `impl`...

C-enhancement
E-help-wanted
E-mentor

If a trait sealed, it should be okay to make its methods safe, since it's impossible for an external type to implement it.

### Steps to reproduce the bug with the above code #### Baseline ```rust pub struct B(usize); ``` #### Patch update ```rust pub struct A; pub type B = A; ```...

C-bug

By default, `cargo semver-checks check-release` attempts to look up the most recent previous version of the crate on crates.io. This won't work for crates that are only published on a...

C-enhancement

### Steps to reproduce the bug with the above code We've found that we can't move things around in a backwards compatible way using `pub use` since the `deprecated` attribute...

C-bug

### Steps to reproduce the bug with the above code 1. Clone the repo https://github.com/KittyCAD/modeling-api and check out the branch achalmers/remove-one-enum 2. Notice that the PR adds a new Cargo...

A-docs
C-bug

### Steps to reproduce the bug with the above code Old crate: ```rust trait A {} trait B: A {} ``` New crate: ```rust trait B {} ``` ### Actual...

C-bug

The error message says "type no longer *derives* trait" but what it means to say is that the type no longer *implements* the trait. It does not flag "`#[derive]` became...

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

As `cargo-semver-checks` is getting adopted by more and more projects, we're seeing more and more cases where our current APIs and config flags give users insufficient control over various edge...

C-enhancement

For example, uncommenting the `#[doc(hidden)]` line is a breaking change since the struct is no longer considered public API, even though it is public. This is because some non-public API...

A-lint
E-help-wanted
E-mentor