diff --git a/src/impls.rs b/src/impls.rs index 51cfa714..82ff2530 100644 --- a/src/impls.rs +++ b/src/impls.rs @@ -21,6 +21,7 @@ use crate::prelude::{ collections::{ BTreeMap, BTreeSet, + VecDeque, }, marker::PhantomData, string::String, @@ -126,6 +127,17 @@ where } } +impl TypeInfo for VecDeque +where + T: TypeInfo + 'static, +{ + type Identity = Vec; + + fn type_info() -> Type { + Self::Identity::type_info() + } +} + impl TypeInfo for Option where T: TypeInfo + 'static, diff --git a/src/tests.rs b/src/tests.rs index d35c63fd..8a4829c5 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -109,6 +109,11 @@ fn collections() { .type_params(tuple_meta_type![String]) .composite(Fields::unnamed().field(|f| f.ty::<[String]>())) ); + + assert_type!( + std::collections::VecDeque, + TypeDefSequence::new(meta_type::()) + ); } #[test]