aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
blob: fabf88e8f261d06f3810d249e4f96b61e858605d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
SOURCE_FILE@[0; 88)
  FN_DEF@[0; 26)
    FN_KW@[0; 2) "fn"
    WHITESPACE@[2; 3) " "
    NAME@[3; 4)
      IDENT@[3; 4) "a"
    PARAM_LIST@[4; 6)
      L_PAREN@[4; 5) "("
      R_PAREN@[5; 6) ")"
    WHITESPACE@[6; 7) " "
    RET_TYPE@[7; 23)
      THIN_ARROW@[7; 9) "->"
      WHITESPACE@[9; 10) " "
      PATH_TYPE@[10; 23)
        PATH@[10; 23)
          PATH_SEGMENT@[10; 23)
            NAME_REF@[10; 13)
              IDENT@[10; 13) "Foo"
            TYPE_ARG_LIST@[13; 23)
              L_ANGLE@[13; 14) "<"
              TYPE_ARG@[14; 22)
                PATH_TYPE@[14; 22)
                  PATH@[14; 22)
                    PATH@[14; 17)
                      PATH_SEGMENT@[14; 17)
                        NAME_REF@[14; 17)
                          IDENT@[14; 17) "bar"
                    COLON2@[17; 19) "::"
                    PATH_SEGMENT@[19; 22)
                      NAME_REF@[19; 22)
                        IDENT@[19; 22) "Baz"
              R_ANGLE@[22; 23) ">"
    WHITESPACE@[23; 24) " "
    BLOCK_EXPR@[24; 26)
      BLOCK@[24; 26)
        L_CURLY@[24; 25) "{"
        R_CURLY@[25; 26) "}"
  WHITESPACE@[26; 28) "\n\n"
  FN_DEF@[28; 56)
    FN_KW@[28; 30) "fn"
    WHITESPACE@[30; 31) " "
    NAME@[31; 32)
      IDENT@[31; 32) "b"
    PARAM_LIST@[32; 53)
      L_PAREN@[32; 33) "("
      PARAM@[33; 52)
        PLACEHOLDER_PAT@[33; 34)
          UNDERSCORE@[33; 34) "_"
        COLON@[34; 35) ":"
        WHITESPACE@[35; 36) " "
        IMPL_TRAIT_TYPE@[36; 52)
          IMPL_KW@[36; 40) "impl"
          WHITESPACE@[40; 41) " "
          TYPE_BOUND_LIST@[41; 52)
            TYPE_BOUND@[41; 52)
              PATH_TYPE@[41; 52)
                PATH@[41; 52)
                  PATH_SEGMENT@[41; 52)
                    NAME_REF@[41; 46)
                      IDENT@[41; 46) "FnMut"
                    PARAM_LIST@[46; 52)
                      L_PAREN@[46; 47) "("
                      PARAM@[47; 51)
                        PATH_TYPE@[47; 51)
                          PATH@[47; 51)
                            PATH@[47; 48)
                              PATH_SEGMENT@[47; 48)
                                NAME_REF@[47; 48)
                                  IDENT@[47; 48) "x"
                            COLON2@[48; 50) "::"
                            PATH_SEGMENT@[50; 51)
                              NAME_REF@[50; 51)
                                IDENT@[50; 51) "Y"
                      R_PAREN@[51; 52) ")"
      R_PAREN@[52; 53) ")"
    WHITESPACE@[53; 54) " "
    BLOCK_EXPR@[54; 56)
      BLOCK@[54; 56)
        L_CURLY@[54; 55) "{"
        R_CURLY@[55; 56) "}"
  WHITESPACE@[56; 58) "\n\n"
  FN_DEF@[58; 87)
    FN_KW@[58; 60) "fn"
    WHITESPACE@[60; 61) " "
    NAME@[61; 62)
      IDENT@[61; 62) "c"
    PARAM_LIST@[62; 84)
      L_PAREN@[62; 63) "("
      PARAM@[63; 83)
        PLACEHOLDER_PAT@[63; 64)
          UNDERSCORE@[63; 64) "_"
        COLON@[64; 65) ":"
        WHITESPACE@[65; 66) " "
        IMPL_TRAIT_TYPE@[66; 83)
          IMPL_KW@[66; 70) "impl"
          WHITESPACE@[70; 71) " "
          TYPE_BOUND_LIST@[71; 83)
            TYPE_BOUND@[71; 83)
              PATH_TYPE@[71; 83)
                PATH@[71; 83)
                  PATH_SEGMENT@[71; 83)
                    NAME_REF@[71; 76)
                      IDENT@[71; 76) "FnMut"
                    PARAM_LIST@[76; 83)
                      L_PAREN@[76; 77) "("
                      PARAM@[77; 82)
                        REFERENCE_TYPE@[77; 82)
                          AMP@[77; 78) "&"
                          PATH_TYPE@[78; 82)
                            PATH@[78; 82)
                              PATH@[78; 79)
                                PATH_SEGMENT@[78; 79)
                                  NAME_REF@[78; 79)
                                    IDENT@[78; 79) "x"
                              COLON2@[79; 81) "::"
                              PATH_SEGMENT@[81; 82)
                                NAME_REF@[81; 82)
                                  IDENT@[81; 82) "Y"
                      R_PAREN@[82; 83) ")"
      R_PAREN@[83; 84) ")"
    WHITESPACE@[84; 85) " "
    BLOCK_EXPR@[85; 87)
      BLOCK@[85; 87)
        L_CURLY@[85; 86) "{"
        R_CURLY@[86; 87) "}"
  WHITESPACE@[87; 88) "\n"