]> git.lizzy.rs Git - rust.git/commit
auto merge of #20514 : alexcrichton/rust/serialize-associated-type, r=aturon
authorbors <bors@rust-lang.org>
Mon, 5 Jan 2015 14:51:03 +0000 (14:51 +0000)
committerbors <bors@rust-lang.org>
Mon, 5 Jan 2015 14:51:03 +0000 (14:51 +0000)
commit03268bbf35d3ff2350d987fe7b60375839abdf2e
tree86ecae7591630a6ccf7a69a47570577a0caea8c6
parent8e83af6e879535c33fd83d247d16619e39e0b951
parent0cb7a4062a3c69bb0c54f0c9136889a1006e4f62
auto merge of #20514 : alexcrichton/rust/serialize-associated-type, r=aturon

This commit moves the libserialize crate (and will force the hand of the
rustc-serialize crate) to not require the `old_orphan_check` feature gate as
well as using associated types wherever possible. Concretely, the following
changes were made:

* The error type of `Encoder` and `Decoder` is now an associated type, meaning
  that these traits have no type parameters.

* The `Encoder` and `Decoder` type parameters on the `Encodable` and `Decodable`
  traits have moved to the corresponding method of the trait. This movement
  alleviates the dependency on `old_orphan_check` but implies that
  implementations can no longer be specialized for the type of encoder/decoder
  being implemented.

Due to the trait definitions changing, this is a:

[breaking-change]