diff options
-rw-r--r-- | src/parser/grammar/items/mod.rs | 3 | ||||
-rw-r--r-- | tests/data/parser/ok/0008_mod_item.txt | 38 |
2 files changed, 24 insertions, 17 deletions
diff --git a/src/parser/grammar/items/mod.rs b/src/parser/grammar/items/mod.rs index 2d9580991..8bb821fb6 100644 --- a/src/parser/grammar/items/mod.rs +++ b/src/parser/grammar/items/mod.rs | |||
@@ -255,7 +255,8 @@ fn mod_item(p: &mut Parser) { | |||
255 | assert!(p.at(MOD_KW)); | 255 | assert!(p.at(MOD_KW)); |
256 | p.bump(); | 256 | p.bump(); |
257 | 257 | ||
258 | if p.expect(IDENT) && !p.eat(SEMI) { | 258 | name(p); |
259 | if !p.eat(SEMI) { | ||
259 | if p.expect(L_CURLY) { | 260 | if p.expect(L_CURLY) { |
260 | mod_contents(p, true); | 261 | mod_contents(p, true); |
261 | p.expect(R_CURLY); | 262 | p.expect(R_CURLY); |
diff --git a/tests/data/parser/ok/0008_mod_item.txt b/tests/data/parser/ok/0008_mod_item.txt index 99cc30e98..20321051c 100644 --- a/tests/data/parser/ok/0008_mod_item.txt +++ b/tests/data/parser/ok/0008_mod_item.txt | |||
@@ -1,24 +1,27 @@ | |||
1 | FILE@[0; 118) | 1 | FILE@[0; 118) |
2 | MOD_ITEM@[0; 8) | 2 | MOD_ITEM@[0; 8) |
3 | MOD_KW@[0; 3) | 3 | MOD_KW@[0; 3) |
4 | WHITESPACE@[3; 4) | 4 | NAME@[3; 5) |
5 | IDENT@[4; 5) "a" | 5 | WHITESPACE@[3; 4) |
6 | IDENT@[4; 5) "a" | ||
6 | SEMI@[5; 6) | 7 | SEMI@[5; 6) |
7 | WHITESPACE@[6; 8) | 8 | WHITESPACE@[6; 8) |
8 | MOD_ITEM@[8; 19) | 9 | MOD_ITEM@[8; 19) |
9 | MOD_KW@[8; 11) | 10 | MOD_KW@[8; 11) |
10 | WHITESPACE@[11; 12) | 11 | NAME@[11; 14) |
11 | IDENT@[12; 13) "b" | 12 | WHITESPACE@[11; 12) |
12 | WHITESPACE@[13; 14) | 13 | IDENT@[12; 13) "b" |
14 | WHITESPACE@[13; 14) | ||
13 | L_CURLY@[14; 15) | 15 | L_CURLY@[14; 15) |
14 | WHITESPACE@[15; 16) | 16 | WHITESPACE@[15; 16) |
15 | R_CURLY@[16; 17) | 17 | R_CURLY@[16; 17) |
16 | WHITESPACE@[17; 19) | 18 | WHITESPACE@[17; 19) |
17 | MOD_ITEM@[19; 67) | 19 | MOD_ITEM@[19; 67) |
18 | MOD_KW@[19; 22) | 20 | MOD_KW@[19; 22) |
19 | WHITESPACE@[22; 23) | 21 | NAME@[22; 25) |
20 | IDENT@[23; 24) "c" | 22 | WHITESPACE@[22; 23) |
21 | WHITESPACE@[24; 25) | 23 | IDENT@[23; 24) "c" |
24 | WHITESPACE@[24; 25) | ||
22 | L_CURLY@[25; 26) | 25 | L_CURLY@[25; 26) |
23 | FN_ITEM@[26; 52) | 26 | FN_ITEM@[26; 52) |
24 | WHITESPACE@[26; 31) | 27 | WHITESPACE@[26; 31) |
@@ -46,9 +49,10 @@ FILE@[0; 118) | |||
46 | WHITESPACE@[65; 67) | 49 | WHITESPACE@[65; 67) |
47 | MOD_ITEM@[67; 118) | 50 | MOD_ITEM@[67; 118) |
48 | MOD_KW@[67; 70) | 51 | MOD_KW@[67; 70) |
49 | WHITESPACE@[70; 71) | 52 | NAME@[70; 73) |
50 | IDENT@[71; 72) "d" | 53 | WHITESPACE@[70; 71) |
51 | WHITESPACE@[72; 73) | 54 | IDENT@[71; 72) "d" |
55 | WHITESPACE@[72; 73) | ||
52 | L_CURLY@[73; 74) | 56 | L_CURLY@[73; 74) |
53 | ATTR@[74; 92) | 57 | ATTR@[74; 92) |
54 | WHITESPACE@[74; 79) | 58 | WHITESPACE@[74; 79) |
@@ -61,15 +65,17 @@ FILE@[0; 118) | |||
61 | WHITESPACE@[87; 92) | 65 | WHITESPACE@[87; 92) |
62 | MOD_ITEM@[92; 103) | 66 | MOD_ITEM@[92; 103) |
63 | MOD_KW@[92; 95) | 67 | MOD_KW@[92; 95) |
64 | WHITESPACE@[95; 96) | 68 | NAME@[95; 97) |
65 | IDENT@[96; 97) "e" | 69 | WHITESPACE@[95; 96) |
70 | IDENT@[96; 97) "e" | ||
66 | SEMI@[97; 98) | 71 | SEMI@[97; 98) |
67 | WHITESPACE@[98; 103) | 72 | WHITESPACE@[98; 103) |
68 | MOD_ITEM@[103; 117) | 73 | MOD_ITEM@[103; 117) |
69 | MOD_KW@[103; 106) | 74 | MOD_KW@[103; 106) |
70 | WHITESPACE@[106; 107) | 75 | NAME@[106; 109) |
71 | IDENT@[107; 108) "f" | 76 | WHITESPACE@[106; 107) |
72 | WHITESPACE@[108; 109) | 77 | IDENT@[107; 108) "f" |
78 | WHITESPACE@[108; 109) | ||
73 | L_CURLY@[109; 110) | 79 | L_CURLY@[109; 110) |
74 | WHITESPACE@[110; 115) | 80 | WHITESPACE@[110; 115) |
75 | R_CURLY@[115; 116) | 81 | R_CURLY@[115; 116) |