Skip to content

Document which kind of changes are breaking #3

Open

Description

@m-ou-se

We should document which kind of changes are breaking and cannot be made to stable APIs.

E.g. changing a function from fn(i32) to fn(impl Into<i32>) can be breaking, but relaxing a <T: Ord> to <T: PartialOrd> might be fine (maybe?).

Activity

  1. camelid commented on Jan 28, 2021

    @camelid
    Member

    And also, what level of breakage is acceptable. E.g., if a Crater run shows very few regressions, it's sometimes acceptable to make a breaking change.

  2. KodrAus commented on Jan 31, 2021

    @KodrAus
    Contributor

    We've got a section with some initial content here: https://github.com/rust-lang/std-dev-guide/tree/master/src/code-considerations/breaking-changes

    There's still lots we could expand there!

  3. KodrAus commented on Jan 31, 2021

    @KodrAus
    Contributor

    I think it's usually inference that causes us the most pain in all kinds of changes that add trait impls and relax bounds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions