SOURCE_FILE STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "A" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "B" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" TYPE_BOUND_LIST R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "C" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "D" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PLUS "+" WHITESPACE " " R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "E" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND LIFETIME LIFETIME_IDENT "'d" WHITESPACE " " R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "F" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND LIFETIME LIFETIME_IDENT "'d" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "Clone" R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "G" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "Clone" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "Copy" R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "H" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT COLON2 "::" NAME_REF IDENT "Foo" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND PATH_TYPE PATH PATH PATH_SEGMENT NAME_REF SELF_KW "self" COLON2 "::" PATH_SEGMENT NAME_REF IDENT "Bar" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "I" GENERIC_PARAM_LIST L_ANGLE "<" TYPE_PARAM NAME IDENT "T" COLON ":" TYPE_BOUND_LIST COMMA "," WHITESPACE " " TYPE_PARAM NAME IDENT "U" COLON ":" TYPE_BOUND_LIST COMMA "," R_ANGLE ">" SEMICOLON ";" WHITESPACE "\n" STRUCT STRUCT_KW "struct" WHITESPACE " " NAME IDENT "K" GENERIC_PARAM_LIST L_ANGLE "<" LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'a" COLON ":" WHITESPACE " " LIFETIME LIFETIME_IDENT "'d" COMMA "," WHITESPACE " " LIFETIME_PARAM LIFETIME LIFETIME_IDENT "'d" COLON ":" WHITESPACE " " LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PLUS "+" WHITESPACE " " LIFETIME LIFETIME_IDENT "'b" COMMA "," WHITESPACE " " TYPE_PARAM NAME IDENT "T" COLON ":" WHITESPACE " " TYPE_BOUND_LIST TYPE_BOUND LIFETIME LIFETIME_IDENT "'a" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND LIFETIME LIFETIME_IDENT "'d" WHITESPACE " " PLUS "+" WHITESPACE " " TYPE_BOUND PATH_TYPE PATH PATH_SEGMENT NAME_REF IDENT "Clone" R_ANGLE ">" SEMICOLON ";"