SOURCE_FILE@0..83 TRAIT@0..18 TRAIT_KW@0..5 "trait" WHITESPACE@5..6 " " NAME@6..7 IDENT@6..7 "Z" GENERIC_PARAM_LIST@7..10 L_ANGLE@7..8 "<" TYPE_PARAM@8..9 NAME@8..9 IDENT@8..9 "U" R_ANGLE@9..10 ">" WHITESPACE@10..11 " " EQ@11..12 "=" WHITESPACE@12..13 " " TYPE_BOUND_LIST@13..17 TYPE_BOUND@13..17 PATH_TYPE@13..17 PATH@13..17 PATH_SEGMENT@13..17 NAME_REF@13..14 IDENT@13..14 "T" GENERIC_ARG_LIST@14..17 L_ANGLE@14..15 "<" TYPE_ARG@15..16 PATH_TYPE@15..16 PATH@15..16 PATH_SEGMENT@15..16 NAME_REF@15..16 IDENT@15..16 "U" R_ANGLE@16..17 ">" SEMICOLON@17..18 ";" WHITESPACE@18..19 "\n" TRAIT@19..51 TRAIT_KW@19..24 "trait" WHITESPACE@24..25 " " NAME@25..26 IDENT@25..26 "Z" GENERIC_PARAM_LIST@26..29 L_ANGLE@26..27 "<" TYPE_PARAM@27..28 NAME@27..28 IDENT@27..28 "U" R_ANGLE@28..29 ">" WHITESPACE@29..30 " " EQ@30..31 "=" WHITESPACE@31..32 " " TYPE_BOUND_LIST@32..36 TYPE_BOUND@32..36 PATH_TYPE@32..36 PATH@32..36 PATH_SEGMENT@32..36 NAME_REF@32..33 IDENT@32..33 "T" GENERIC_ARG_LIST@33..36 L_ANGLE@33..34 "<" TYPE_ARG@34..35 PATH_TYPE@34..35 PATH@34..35 PATH_SEGMENT@34..35 NAME_REF@34..35 IDENT@34..35 "U" R_ANGLE@35..36 ">" WHITESPACE@36..37 " " WHERE_CLAUSE@37..50 WHERE_KW@37..42 "where" WHITESPACE@42..43 " " WHERE_PRED@43..50 PATH_TYPE@43..44 PATH@43..44 PATH_SEGMENT@43..44 NAME_REF@43..44 IDENT@43..44 "U" COLON@44..45 ":" WHITESPACE@45..46 " " TYPE_BOUND_LIST@46..50 TYPE_BOUND@46..50 PATH_TYPE@46..50 PATH@46..50 PATH_SEGMENT@46..50 NAME_REF@46..50 IDENT@46..50 "Copy" SEMICOLON@50..51 ";" WHITESPACE@51..52 "\n" TRAIT@52..82 TRAIT_KW@52..57 "trait" WHITESPACE@57..58 " " NAME@58..59 IDENT@58..59 "Z" GENERIC_PARAM_LIST@59..62 L_ANGLE@59..60 "<" TYPE_PARAM@60..61 NAME@60..61 IDENT@60..61 "U" R_ANGLE@61..62 ">" WHITESPACE@62..63 " " EQ@63..64 "=" WHITESPACE@64..65 " " TYPE_BOUND_LIST@65..65 WHERE_CLAUSE@65..81 WHERE_KW@65..70 "where" WHITESPACE@70..71 " " WHERE_PRED@71..81 PATH_TYPE@71..75 PATH@71..75 PATH_SEGMENT@71..75 NAME_REF@71..75 IDENT@71..75 "Self" COLON@75..76 ":" WHITESPACE@76..77 " " TYPE_BOUND_LIST@77..81 TYPE_BOUND@77..81 PATH_TYPE@77..81 PATH@77..81 PATH_SEGMENT@77..81 NAME_REF@77..78 IDENT@77..78 "T" GENERIC_ARG_LIST@78..81 L_ANGLE@78..79 "<" TYPE_ARG@79..80 PATH_TYPE@79..80 PATH@79..80 PATH_SEGMENT@79..80 NAME_REF@79..80 IDENT@79..80 "U" R_ANGLE@80..81 ">" SEMICOLON@81..82 ";" WHITESPACE@82..83 "\n"