Skip to content

Conversation

maciejhirsz
Copy link
Owner

Fixes #93

@dtolnay
Copy link

dtolnay commented Oct 27, 2016

Isn't this a breaking change? If someone does a match on Error this breaks their code.

@maciejhirsz
Copy link
Owner Author

Good point.

@maciejhirsz maciejhirsz changed the title 0.10.4 0.11.0 Oct 27, 2016
@Mark-Simulacrum
Copy link

While we're making a breaking change, maybe update the Error enum to have a __Nonexhaustive variant to allow future extensibility?

@maciejhirsz
Copy link
Owner Author

@Mark-Simulacrum is this an advised best practice?

I think while this library is still in pre-1.0 state the occasional breaking change of this (microscopic) magnitude is quite okay, and post 1.0 I'd rather want to have the Error types set and solid.

@Mark-Simulacrum
Copy link

I know this is used in the stdlib, for example, so I'd say that yes--any enums that may gain new variants can/should have a variant marked for this purpose.

@meh
Copy link

meh commented Oct 28, 2016

@Mark-Simulacrum that's only for enums that you NEVER want to be fully exhausted, i.e. to always have a catch-all at the end, not for preventing breaking changes.

@Mark-Simulacrum
Copy link

@meh That's true. Though, to some extent, there is a relationship between the two--if it's never fully exhausted, then there's not going to be breaking changes when adding new variants.

@maciejhirsz
Copy link
Owner Author

I'll leave the Error enum as is then, don't really want to add "unknown error" to printing traits either.

@maciejhirsz maciejhirsz merged commit 298e09a into master Oct 28, 2016
@maciejhirsz maciejhirsz deleted the state_machine branch October 28, 2016 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants