I don't believe you want another generic here, you want an associated type:
pub trait Generable {
type From;
fn generate_children(&self, data: &Self::From) -> Vec
As an aside, Vec>>
is probably one level extra of indirection — you can just use Vec>
.