|
| 1 | +#[cfg(feature = "rustc_serialize")] |
1 | 2 | use rustc_serialize::{Decodable, Decoder, Encodable, Encoder}; |
2 | 3 |
|
3 | 4 | use std::fmt; |
@@ -61,12 +62,14 @@ pub struct IndexVec<I: Idx, T> { |
61 | 62 | // not the phantom data. |
62 | 63 | unsafe impl<I: Idx, T> Send for IndexVec<I, T> where T: Send {} |
63 | 64 |
|
| 65 | +#[cfg(feature = "rustc_serialize")] |
64 | 66 | impl<S: Encoder, I: Idx, T: Encodable<S>> Encodable<S> for IndexVec<I, T> { |
65 | 67 | fn encode(&self, s: &mut S) { |
66 | 68 | Encodable::encode(&self.raw, s); |
67 | 69 | } |
68 | 70 | } |
69 | 71 |
|
| 72 | +#[cfg(feature = "rustc_serialize")] |
70 | 73 | impl<D: Decoder, I: Idx, T: Decodable<D>> Decodable<D> for IndexVec<I, T> { |
71 | 74 | fn decode(d: &mut D) -> Self { |
72 | 75 | IndexVec { raw: Decodable::decode(d), _marker: PhantomData } |
@@ -359,11 +362,13 @@ impl<I: Idx, T> Extend<T> for IndexVec<I, T> { |
359 | 362 | } |
360 | 363 |
|
361 | 364 | #[inline] |
| 365 | + #[cfg(feature = "nightly")] |
362 | 366 | fn extend_one(&mut self, item: T) { |
363 | 367 | self.raw.push(item); |
364 | 368 | } |
365 | 369 |
|
366 | 370 | #[inline] |
| 371 | + #[cfg(feature = "nightly")] |
367 | 372 | fn extend_reserve(&mut self, additional: usize) { |
368 | 373 | self.raw.reserve(additional); |
369 | 374 | } |
|
0 commit comments