Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

serialize: Change some FnOnce bounds to FnMut #19887

Merged
merged 1 commit into from
Dec 17, 2014

Conversation

alexcrichton
Copy link
Member

Relax some of the bounds on the decoder methods back to FnMut to help accomodate
some more flavorful variants of decoders which may need to run the closure more
than once when it, for example, attempts to find the first successful enum to
decode.

@brson
Copy link
Contributor

brson commented Dec 15, 2014

breaking change?

Relax some of the bounds on the decoder methods back to FnMut to help accomodate
some more flavorful variants of decoders which may need to run the closure more
than once when it, for example, attempts to find the first successful enum to
decode.

This a breaking change due to the bounds for the trait switching, and clients
will need to update from `FnOnce` to `FnMut` as well as likely making the local
function binding mutable in order to call the function.

[breaking-change]
@alexcrichton
Copy link
Member Author

Oops, good point, updated.

bors added a commit that referenced this pull request Dec 16, 2014
serialize: Change some FnOnce bounds to FnMut

Reviewed-by: brson
bors referenced this pull request Dec 16, 2014
Using a type alias for iterator implementations is fragile since this
exposes the implementation to users of the iterator, and any changes
could break existing code.

This commit changes the iterators of `VecMap` to use
proper new types, rather than type aliases.  However, since it is
fair-game to treat a type-alias as the aliased type, this is a:

[breaking-change].
bors added a commit that referenced this pull request Dec 16, 2014
serialize: Change some FnOnce bounds to FnMut

Reviewed-by: brson
bors referenced this pull request Dec 16, 2014
This creates an enormous amount of spew.
brson added a commit that referenced this pull request Dec 16, 2014
Relax some of the bounds on the decoder methods back to FnMut to help accomodate
some more flavorful variants of decoders which may need to run the closure more
than once when it, for example, attempts to find the first successful enum to
decode.
bors added a commit that referenced this pull request Dec 17, 2014
serialize: Change some FnOnce bounds to FnMut

Reviewed-by: brson
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Dec 17, 2014
Relax some of the bounds on the decoder methods back to FnMut to help accomodate
some more flavorful variants of decoders which may need to run the closure more
than once when it, for example, attempts to find the first successful enum to
decode.
@bors bors merged commit c9ea7c9 into rust-lang:master Dec 17, 2014
@alexcrichton alexcrichton deleted the serialize-fn-mut branch December 17, 2014 23:48
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.

5 participants