fn declare_result_enum( result_ident: Ident, variants: usize, complete: bool, span: Span, ) -> (Vec<Ident>, ItemEnum)