diff --git a/.travis.yml b/.travis.yml
index e7432fad1a..9dc8f2c845 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,12 +3,12 @@ script:
- cd $TRAVIS_BUILD_DIR
- cargo build
- cargo test
- - cargo build --features serde
- - cargo test --features serde
+ - cargo build --all-features
+ - cargo test --all-features
after_success: |-
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
- cargo doc &&
+ cargo doc --all-features &&
echo "" > target/doc/index.html &&
sudo pip install ghp-import &&
ghp-import -n target/doc &&
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa2c7969d0..06ed3d23ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+* **`0.13.2`**
+ * Add feature `more_lengths`, which adds more `From`/`Into` implementations for arrays of various lengths.
+
* **`0.13.1`**
* Mark `GenericArray` as `#[repr(transparent)]`
* Implement `Into<[T; N]>` for `GenericArray` up to N=32
diff --git a/Cargo.toml b/Cargo.toml
index aa2442d58a..4231c13742 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "generic-array"
-version = "0.13.1"
+version = "0.13.2"
authors = [ "Bartłomiej Kamiński ", "Aaron Trent " ]
description = "Generic types implementing functionality of arrays"
@@ -21,6 +21,9 @@ travis-ci = { repository = "fizyk20/generic-array" }
[lib]
name = "generic_array"
+[features]
+more_lengths = []
+
[dependencies]
typenum = "1.10"
serde = { version = "1.0", optional = true, default-features = false }
diff --git a/src/impls.rs b/src/impls.rs
index 50a6413d93..f3262e166e 100644
--- a/src/impls.rs
+++ b/src/impls.rs
@@ -177,3 +177,56 @@ impl_from! {
31 => ::typenum::U31,
32 => ::typenum::U32
}
+
+#[cfg(feature = "more_lengths")]
+impl_from! {
+ 33 => ::typenum::U33,
+ 34 => ::typenum::U34,
+ 35 => ::typenum::U35,
+ 36 => ::typenum::U36,
+ 37 => ::typenum::U37,
+ 38 => ::typenum::U38,
+ 39 => ::typenum::U39,
+ 40 => ::typenum::U40,
+ 41 => ::typenum::U41,
+ 42 => ::typenum::U42,
+ 43 => ::typenum::U43,
+ 44 => ::typenum::U44,
+ 45 => ::typenum::U45,
+ 46 => ::typenum::U46,
+ 47 => ::typenum::U47,
+ 48 => ::typenum::U48,
+ 49 => ::typenum::U49,
+ 50 => ::typenum::U50,
+ 51 => ::typenum::U51,
+ 52 => ::typenum::U52,
+ 53 => ::typenum::U53,
+ 54 => ::typenum::U54,
+ 55 => ::typenum::U55,
+ 56 => ::typenum::U56,
+ 57 => ::typenum::U57,
+ 58 => ::typenum::U58,
+ 59 => ::typenum::U59,
+ 60 => ::typenum::U60,
+ 61 => ::typenum::U61,
+ 62 => ::typenum::U62,
+ 63 => ::typenum::U63,
+ 64 => ::typenum::U64,
+
+ 70 => ::typenum::U70,
+ 80 => ::typenum::U80,
+ 90 => ::typenum::U90,
+
+ 100 => ::typenum::U100,
+ 200 => ::typenum::U200,
+ 300 => ::typenum::U300,
+ 400 => ::typenum::U400,
+ 500 => ::typenum::U500,
+
+ 128 => ::typenum::U128,
+ 256 => ::typenum::U256,
+ 512 => ::typenum::U512,
+
+ 1000 => ::typenum::U1000,
+ 1024 => ::typenum::U1024
+}
diff --git a/src/lib.rs b/src/lib.rs
index 0de6a5b7f7..6fc5c841cf 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -51,7 +51,7 @@ mod hex;
mod impls;
#[cfg(feature = "serde")]
-pub mod impl_serde;
+mod impl_serde;
use core::iter::FromIterator;
use core::marker::PhantomData;