Skip to content

Commit 2772b2e

Browse files
committed
syntax: Make match arm parsing more restrictive again
Require comma separators for all expression types except the plain block
1 parent abf4421 commit 2772b2e

36 files changed

+107
-156
lines changed

src/libcore/dlist.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ impl private_methods<T> for dlist_node<T> {
3030
some(neighbour) => match neighbour.prev {
3131
some(me) => if !box::ptr_eq(*self, *me) {
3232
fail ~"Asymmetric next-link in dlist node."
33-
}
33+
},
3434
none => fail ~"One-way next-link in dlist node."
35-
}
35+
},
3636
none => ()
3737
}
3838
match self.prev {
3939
some(neighbour) => match neighbour.next {
4040
some(me) => if !box::ptr_eq(*me, *self) {
4141
fail ~"Asymmetric prev-link in dlist node."
42-
}
42+
},
4343
none => fail ~"One-way prev-link in dlist node."
44-
}
44+
},
4545
none => ()
4646
}
4747
}

src/libcore/os.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ fn homedir() -> option<path> {
445445
some(p)
446446
} else {
447447
secondary()
448-
}
448+
},
449449
none => secondary()
450450
};
451451

src/libcore/pipes.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ fn try_recv<T: send, Tbuffer: send>(-p: recv_packet_buffered<T, Tbuffer>)
425425
}
426426
blocked => if first {
427427
fail ~"blocking on already blocked packet"
428-
}
428+
},
429429
full => {
430430
let mut payload = none;
431431
payload <-> p.payload;
@@ -717,7 +717,7 @@ struct send_packet_buffered<T: send, Tbuffer: send> {
717717
let header = ptr::addr_of(packet.header);
718718
//forget(packet);
719719
header
720-
}
720+
},
721721
none => fail ~"packet already consumed"
722722
}
723723
}
@@ -778,7 +778,7 @@ struct recv_packet_buffered<T: send, Tbuffer: send> : selectable {
778778
let header = ptr::addr_of(packet.header);
779779
//forget(packet);
780780
header
781-
}
781+
},
782782
none => fail ~"packet already consumed"
783783
}
784784
}

src/libcore/send_map.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ mod linear {
118118
match buckets[i] {
119119
some(bkt) => if bkt.hash == hash && self.eqfn(k, &bkt.key) {
120120
return found_entry(i);
121-
}
121+
},
122122
none => return found_hole(i)
123123
}
124124
};

src/libstd/bitv.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,9 @@ class bitv {
186186
intersect => s.intersect(s1),
187187
assign => s.become(s1),
188188
difference => s.difference(s1)
189-
}
189+
},
190190
big(s1) => self.die()
191-
}
191+
},
192192
big(s) => match other.rep {
193193
small(_) => self.die(),
194194
big(s1) => match op {
@@ -282,7 +282,7 @@ class bitv {
282282
small(b) => match v1.rep {
283283
small(b1) => b.equals(b1),
284284
_ => false
285-
}
285+
},
286286
big(s) => match v1.rep {
287287
big(s1) => s.equals(s1),
288288
small(_) => return false

src/libstd/deque.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -242,11 +242,11 @@ mod tests {
242242
one(a1) => match b {
243243
one(b1) => return a1 == b1,
244244
_ => return false
245-
}
245+
},
246246
two(a1, a2) => match b {
247247
two(b1, b2) => return a1 == b1 && a2 == b2,
248248
_ => return false
249-
}
249+
},
250250
three(a1, a2, a3) => match b {
251251
three(b1, b2, b3) => return a1 == b1 && a2 == b2 && a3 == b3,
252252
_ => return false
@@ -258,11 +258,11 @@ mod tests {
258258
onepar::<T>(a1) => match b {
259259
onepar::<T>(b1) => return a1 == b1,
260260
_ => return false
261-
}
261+
},
262262
twopar::<T>(a1, a2) => match b {
263263
twopar::<T>(b1, b2) => return a1 == b1 && a2 == b2,
264264
_ => return false
265-
}
265+
},
266266
threepar::<T>(a1, a2, a3) => match b {
267267
threepar::<T>(b1, b2, b3) => {
268268
return a1 == b1 && a2 == b2 && a3 == b3

src/libstd/json.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ impl parser for parser {
172172
'"' => match self.parse_str() {
173173
ok(s) => ok(string(s)),
174174
err(e) => err(e)
175-
}
175+
},
176176
'[' => self.parse_list(),
177177
'{' => self.parse_object(),
178178
_ => self.error(~"invalid syntax")

src/libstd/net_ip.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ fn format_addr(ip: ip_addr) -> ~str {
5454
fail ~"failed to convert inner sockaddr_in address to str"
5555
}
5656
result
57-
}
57+
},
5858
ipv6(addr) => unsafe {
5959
let result = uv_ip6_name(&addr);
6060
if result == ~"" {

src/libstd/serialization.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ fn serialize_option<S: serializer,T>(s: S, v: option<T>, st: fn(T)) {
245245
do s.emit_enum(~"option") {
246246
match v {
247247
none => do s.emit_enum_variant(~"none", 0u, 0u) {
248-
}
248+
},
249249

250250
some(v) => do s.emit_enum_variant(~"some", 1u, 1u) {
251251
do s.emit_enum_variant_arg(0u) {

src/libstd/smallintmap.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ impl <V: copy> of map::map<uint, V> for smallintmap<V> {
104104
let mut idx = 0u, l = self.v.len();
105105
while idx < l {
106106
match self.v.get_elt(idx) {
107-
some(elt) => if !it(idx, elt) { break }
107+
some(elt) => if !it(idx, elt) { break },
108108
none => ()
109109
}
110110
idx += 1u;
@@ -120,7 +120,7 @@ impl <V: copy> of map::map<uint, V> for smallintmap<V> {
120120
let mut idx = 0u, l = self.v.len();
121121
while idx < l {
122122
match self.v.get_elt(idx) {
123-
some(elt) => if !it(&idx, &elt) { break }
123+
some(elt) => if !it(&idx, &elt) { break },
124124
none => ()
125125
}
126126
idx += 1u;

src/libstd/test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ fn run_tests_console(opts: test_opts,
146146
result::err(s) => {
147147
fail(fmt!{"can't open output file: %s", s})
148148
}
149-
}
149+
},
150150
none => none
151151
};
152152

src/libstd/time.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
220220
]) {
221221
some(item) => { let (v, pos) = item; tm.tm_wday = v; ok(pos) }
222222
none => err(~"Invalid day")
223-
}
223+
},
224224
'a' => match match_strs(s, pos, ~[
225225
(~"Sun", 0_i32),
226226
(~"Mon", 1_i32),
@@ -232,7 +232,7 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
232232
]) {
233233
some(item) => { let (v, pos) = item; tm.tm_wday = v; ok(pos) }
234234
none => err(~"Invalid day")
235-
}
235+
},
236236
'B' => match match_strs(s, pos, ~[
237237
(~"January", 0_i32),
238238
(~"February", 1_i32),
@@ -249,7 +249,7 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
249249
]) {
250250
some(item) => { let (v, pos) = item; tm.tm_mon = v; ok(pos) }
251251
none => err(~"Invalid month")
252-
}
252+
},
253253
'b' | 'h' => match match_strs(s, pos, ~[
254254
(~"Jan", 0_i32),
255255
(~"Feb", 1_i32),
@@ -266,15 +266,15 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
266266
]) {
267267
some(item) => { let (v, pos) = item; tm.tm_mon = v; ok(pos) }
268268
none => err(~"Invalid month")
269-
}
269+
},
270270
'C' => match match_digits(s, pos, 2u, false) {
271271
some(item) => {
272272
let (v, pos) = item;
273273
tm.tm_year += (v * 100_i32) - 1900_i32;
274274
ok(pos)
275275
}
276276
none => err(~"Invalid year")
277-
}
277+
},
278278
'c' => {
279279
parse_type(s, pos, 'a', tm)
280280
.chain(|pos| parse_char(s, pos, ' '))
@@ -296,11 +296,11 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
296296
'd' => match match_digits(s, pos, 2u, false) {
297297
some(item) => { let (v, pos) = item; tm.tm_mday = v; ok(pos) }
298298
none => err(~"Invalid day of the month")
299-
}
299+
},
300300
'e' => match match_digits(s, pos, 2u, true) {
301301
some(item) => { let (v, pos) = item; tm.tm_mday = v; ok(pos) }
302302
none => err(~"Invalid day of the month")
303-
}
303+
},
304304
'F' => {
305305
parse_type(s, pos, 'Y', tm)
306306
.chain(|pos| parse_char(s, pos, '-'))
@@ -379,13 +379,13 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
379379

380380
some(item) => { let (v, pos) = item; tm.tm_hour += v; ok(pos) }
381381
none => err(~"Invalid hour")
382-
}
382+
},
383383
'p' => match match_strs(s, pos,
384384
~[(~"AM", 0_i32), (~"PM", 12_i32)]) {
385385

386386
some(item) => { let (v, pos) = item; tm.tm_hour += v; ok(pos) }
387387
none => err(~"Invalid hour")
388-
}
388+
},
389389
'R' => {
390390
parse_type(s, pos, 'H', tm)
391391
.chain(|pos| parse_char(s, pos, ':'))
@@ -542,7 +542,7 @@ fn strptime(s: ~str, format: ~str) -> result<tm, ~str> {
542542
'%' => match parse_type(s, pos, rdr.read_char(), tm) {
543543
ok(next) => pos = next,
544544
err(e) => { result = err(e); break; }
545-
}
545+
},
546546
c => {
547547
if c != ch { break }
548548
pos = next;
@@ -581,7 +581,7 @@ fn strftime(format: ~str, tm: tm) -> ~str {
581581
4 => ~"Thursday",
582582
5 => ~"Friday",
583583
6 => ~"Saturday"
584-
}
584+
},
585585
'a' => match check tm.tm_wday as int {
586586
0 => ~"Sun",
587587
1 => ~"Mon",
@@ -590,7 +590,7 @@ fn strftime(format: ~str, tm: tm) -> ~str {
590590
4 => ~"Thu",
591591
5 => ~"Fri",
592592
6 => ~"Sat"
593-
}
593+
},
594594
'B' => match check tm.tm_mon as int {
595595
0 => ~"January",
596596
1 => ~"February",
@@ -604,7 +604,7 @@ fn strftime(format: ~str, tm: tm) -> ~str {
604604
9 => ~"October",
605605
10 => ~"November",
606606
11 => ~"December"
607-
}
607+
},
608608
'b' | 'h' => match check tm.tm_mon as int {
609609
0 => ~"Jan",
610610
1 => ~"Feb",
@@ -618,7 +618,7 @@ fn strftime(format: ~str, tm: tm) -> ~str {
618618
9 => ~"Oct",
619619
10 => ~"Nov",
620620
11 => ~"Dec",
621-
}
621+
},
622622
'C' => fmt!{"%02d", (tm.tm_year as int + 1900) / 100},
623623
'c' => {
624624
fmt!{"%s %s %s %s %s",
@@ -662,8 +662,8 @@ fn strftime(format: ~str, tm: tm) -> ~str {
662662
'M' => fmt!{"%02d", tm.tm_min as int},
663663
'm' => fmt!{"%02d", tm.tm_mon as int + 1},
664664
'n' => ~"\n",
665-
'P' => if tm.tm_hour as int < 12 { ~"am" } else { ~"pm" }
666-
'p' => if tm.tm_hour as int < 12 { ~"AM" } else { ~"PM" }
665+
'P' => if tm.tm_hour as int < 12 { ~"am" } else { ~"pm" },
666+
'p' => if tm.tm_hour as int < 12 { ~"AM" } else { ~"PM" },
667667
'R' => {
668668
fmt!{"%s:%s",
669669
parse_type('H', tm),

src/libsyntax/ast_map.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ fn map_view_item(vi: @view_item, cx: ctx, _v: vt) {
270270
}
271271
};
272272
cx.map.insert(id, node_export(vp, extend(cx, name)));
273-
}
273+
},
274274
_ => ()
275275
}
276276
}

src/libsyntax/ast_util.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ fn is_exported(i: ident, m: _mod) -> bool {
192192
local = true;
193193
parent_enum = some(/* FIXME (#2543) */ copy it.ident);
194194
}
195-
}
195+
},
196196
_ => ()
197197
}
198198
if local { break; }
@@ -476,7 +476,7 @@ fn id_visitor(vfn: fn@(node_id)) -> visit::vt<()> {
476476
visit_item: fn@(i: @item) {
477477
vfn(i.id);
478478
match i.node {
479-
item_enum(vs, _) => for vs.each |v| { vfn(v.node.id); }
479+
item_enum(vs, _) => for vs.each |v| { vfn(v.node.id); },
480480
_ => ()
481481
}
482482
},
@@ -603,10 +603,10 @@ fn walk_pat(pat: @pat, it: fn(@pat)) {
603603
match pat.node {
604604
pat_ident(_, pth, some(p)) => walk_pat(p, it),
605605
pat_rec(fields, _) | pat_struct(_, fields, _) =>
606-
for fields.each |f| { walk_pat(f.pat, it) }
606+
for fields.each |f| { walk_pat(f.pat, it) },
607607
pat_enum(_, some(s)) | pat_tup(s) => for s.each |p| {
608608
walk_pat(p, it)
609-
}
609+
},
610610
pat_box(s) | pat_uniq(s) => walk_pat(s, it),
611611
pat_wild | pat_lit(_) | pat_range(_, _) | pat_ident(_, _, _)
612612
| pat_enum(_, _) => ()

src/libsyntax/attr.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ fn get_meta_item_value_str(meta: @ast::meta_item) -> option<@~str> {
130130
ast::meta_name_value(_, v) => match v.node {
131131
ast::lit_str(s) => option::some(s),
132132
_ => option::none
133-
}
133+
},
134134
_ => option::none
135135
}
136136
}
@@ -207,11 +207,11 @@ fn eq(a: @ast::meta_item, b: @ast::meta_item) -> bool {
207207
ast::meta_word(na) => match b.node {
208208
ast::meta_word(nb) => na == nb,
209209
_ => false
210-
}
210+
},
211211
ast::meta_name_value(na, va) => match b.node {
212212
ast::meta_name_value(nb, vb) => na == nb && va.node == vb.node,
213213
_ => false
214-
}
214+
},
215215
ast::meta_list(na, la) => {
216216

217217
// ~[Fixme-sorting]
@@ -257,7 +257,7 @@ fn last_meta_item_value_str_by_name(
257257
some(item) => match attr::get_meta_item_value_str(item) {
258258
some(value) => some(value),
259259
none => none
260-
}
260+
},
261261
none => none
262262
}
263263
}

0 commit comments

Comments
 (0)