#![allow(dead_code)]
use describer::{Describe, Describer};
use std::collections::{BTreeSet, HashSet};

#[derive(Describe)]
struct MyExplicitStruct {
    vec_u8s: Vec<u8>,
    set: HashSet<u8>,
    btree: BTreeSet<u8>,
}

#[derive(Describe)]
struct MyImplicitStruct {
    vec_u8s: Vec<u8>,
    set: HashSet<u8>,
    btree: BTreeSet<u8>,
}

fn main() {
    assert_eq!(
        MyExplicitStruct::describe(),
        "MyExplicitStruct { vec_u8s: [u8], set: #{u8}, btree: #{u8} }"
    );
    assert_eq!(
        MyImplicitStruct::describe(),
        "MyImplicitStruct { vec_u8s: [u8], set: #{u8}, btree: #{u8} }"
    );
}
