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

https://rust-lang.github.io/unsafe-code-guidelines/layout/enums.html#explicit-repr-annotation-with-c-compatibility ![image](https://user-images.githubusercontent.com/2348618/186275867-900c0005-6179-4a2e-af26-6a6252d26a7b.png) Currently, I suspect that `#[repr(C, u8)]` won't get detected as either `#[repr(C)]` or as `#[repr(u8)]`, which I believe can lead to both false-positives and false-negatives. Due to the...

A-lint
C-bug
C-enhancement

At the moment, rustdoc is coupled to a specific range of nightly versions. We should clearly document this for users (and maybe provide helpful runtime errors about it) so users...

A-docs

I'm thinking "if this were merged into cargo, what name should it have?" Quick thoughts on criteria - Brief - Informative, including the idea of non-semver checks Ideas - `cargo...

A-cli
C-enhancement
M-breaking-change

Semver says deprecations are minor changes. Reference: https://doc.rust-lang.org/reference/attributes/diagnostics.html#the-deprecated-attribute Will require separate checks for: - [ ] items (struct, trait, fn, etc.) - [x] struct, enum - [ ] union -...

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

Currently, before `cargo publish`, the new version of `cargo-semver-checks` is tested by running the most-recent-prior version of `cargo-semver-checks` on its API changes. This makes sure we don't break semver for...

C-enhancement
E-help-wanted
E-mentor

Right now, glob imports are ignored for purposes of calculating the "importable paths" of an item. This is likely to cause false-negative issues where items aren't scanned but they should...

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

Consider the following code, in an imaginary `lib` crate. ``` pub mod foo { pub struct Bar; } pub use foo::Bar; ``` `Bar` is now importable both directly as `lib::Bar`...

A-lint
C-bug
E-help-wanted

There are valid use cases for running additional (not-necessarily-semver) user-provided checks against a codebase. A few examples: - Ensuring that a builder pattern struct always uses either `&mut self` or...

A-cli
C-enhancement

Not sure what the easiest and best way to do this is.

A-cli
C-enhancement
E-help-wanted