diff --git a/src/array_string.rs b/src/array_string.rs index 587b613..ae5ee86 100644 --- a/src/array_string.rs +++ b/src/array_string.rs @@ -31,6 +31,12 @@ pub struct ArrayString> { len: A::Index, } +impl> Default for ArrayString { + fn default() -> ArrayString { + ArrayString::new() + } +} + impl> ArrayString { /// Create a new empty `ArrayString`. /// diff --git a/tests/tests.rs b/tests/tests.rs index ae1eb9e..de3507a 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -456,3 +456,13 @@ fn test_sizes() { let v = ArrayVec::from([0u8; 1 << 16]); assert_eq!(vec![0u8; v.len()], &v[..]); } + +#[test] +fn test_default() { + use std::net; + let s: ArrayString<[u8; 4]> = Default::default(); + // Something without `Default` implementation. + let v: ArrayVec<[net::TcpStream; 4]> = Default::default(); + assert_eq!(s.len(), 0); + assert_eq!(v.len(), 0); +}