Skip to content

Commit a80c323

Browse files
committed
Merge #7
7: serde-1.0 r=cuviper a=termoshtt serde-1.0 should be the default serialization option since rustc-serialize is already obsolete. Note: This is a breaking change. We need to bump up the version to 0.2.
2 parents 96e8361 + 403357d commit a80c323

File tree

3 files changed

+8
-20
lines changed

3 files changed

+8
-20
lines changed

Cargo.toml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,10 @@ version = "0.2.1"
1919
default-features = false
2020
features = ["std"]
2121

22-
[dependencies.rustc-serialize]
23-
optional = true
24-
version = "0.3.19"
25-
2622
[dependencies.serde]
2723
optional = true
28-
version = ">= 0.7.0, < 0.9.0"
24+
version = "1.0"
2925

3026
[features]
31-
default = ["rustc-serialize"]
27+
default = []
3228
unstable = []

ci/test_full.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ cargo build --no-default-features
1313
cargo test --no-default-features
1414

1515
# Each isolated feature should also work everywhere.
16-
for feature in rustc-serialize serde; do
16+
for feature in serde; do
1717
cargo build --verbose --no-default-features --features="$feature"
1818
cargo test --verbose --no-default-features --features="$feature"
1919
done
20-
21-
# Downgrade serde and build test the 0.7.0 channel as well
22-
cargo update -p serde --precise 0.7.0
23-
cargo build --verbose --no-default-features --features "serde"

src/lib.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@
1818

1919
extern crate num_traits as traits;
2020

21-
#[cfg(feature = "rustc-serialize")]
22-
extern crate rustc_serialize;
23-
2421
#[cfg(feature = "serde")]
2522
extern crate serde;
2623

@@ -62,7 +59,6 @@ use traits::{Zero, One, Num, Inv, Float};
6259
/// }
6360
/// ```
6461
#[derive(PartialEq, Eq, Copy, Clone, Hash, Debug, Default)]
65-
#[cfg_attr(feature = "rustc-serialize", derive(RustcEncodable, RustcDecodable))]
6662
#[repr(C)]
6763
pub struct Complex<T> {
6864
/// Real portion of the complex number
@@ -1077,19 +1073,19 @@ impl<T: Num + Clone> Num for Complex<T> {
10771073
impl<T> serde::Serialize for Complex<T>
10781074
where T: serde::Serialize
10791075
{
1080-
fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error> where
1076+
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where
10811077
S: serde::Serializer
10821078
{
10831079
(&self.re, &self.im).serialize(serializer)
10841080
}
10851081
}
10861082

10871083
#[cfg(feature = "serde")]
1088-
impl<T> serde::Deserialize for Complex<T> where
1089-
T: serde::Deserialize + Num + Clone
1084+
impl<'de, T> serde::Deserialize<'de> for Complex<T> where
1085+
T: serde::Deserialize<'de> + Num + Clone
10901086
{
1091-
fn deserialize<D>(deserializer: &mut D) -> Result<Self, D::Error> where
1092-
D: serde::Deserializer,
1087+
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
1088+
D: serde::Deserializer<'de>,
10931089
{
10941090
let (re, im) = try!(serde::Deserialize::deserialize(deserializer));
10951091
Ok(Complex::new(re, im))

0 commit comments

Comments
 (0)