fn parse_account_derives(ctx: &CrateContext) -> HashMap<String, AccountsStruct> {
    // TODO: parse manual implementations. Currently we only look
    //       for derives.
    ctx.structs()
        .filter_map(|i_strct| {
            for attr in &i_strct.attrs {
                if attr.tokens.to_string().contains(DERIVE_NAME) {
                    let strct = accounts::parse(i_strct).expect("Code not parseable");
                    return Some((strct.ident.to_string(), strct));
                }
            }
            None
        })
        .collect()
}
// Parse all structs implementing the `Accounts` trait.
Parse all structs implementing the `Accounts` trait.
Parse all structs implementing the ` Accounts ` trait .
fn parse_account_derives(ctx: &CrateContext) -> HashMap<String, AccountsStruct> {
    // TODO: parse manual implementations. Currently we only look
    //       for derives.
    ctx.structs()
        .filter_map(|i_strct| {
            for attr in &i_strct.attrs {
                if attr.tokens.to_string().contains(DERIVE_NAME) {
                    let strct = accounts::parse(i_strct).expect("Code not parseable");
                    return Some((strct.ident.to_string(), strct));
                }
            }
            None
        })
        .collect()
}
fn parse_account_derives ( ctx : & CrateContext ) -> HashMap < String , AccountsStruct > { // TODO: parse manual implementations. Currently we only look //       for derives. ctx . structs ( ) . filter_map ( | i_strct | { for attr in & i_strct . attrs { if attr . tokens . to_string ( ) . contains ( DERIVE_NAME ) { let strct = accounts :: parse ( i_strct ) . expect ( " " ) ; return Some ( ( strct . ident . to_string ( ) , strct ) ) ; } } None } ) . collect ( ) }
Parse all structs implementing the `Accounts` trait.
Parse all structs implementing the ` Accounts ` trait .
ctx
&CrateContext
ctx
&CrateContext