fn collect_items<P>(path: P, out: &mut Vec<DeriveInput>) -> Result<()>where
    P: AsRef<Path>,