|
| 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