@@ -134,14 +134,16 @@ fn nameize(p_s: parse_sess, ms: ~[matcher], res: ~[@named_match])
134
134
135
135
enum parse_result {
136
136
success(hashmap<ident, @named_match>),
137
- failure(codemap::span, ~str)
137
+ failure(codemap::span, ~str),
138
+ error(codemap::span, ~str)
138
139
}
139
140
140
141
fn parse_or_else(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader,
141
142
ms: ~[matcher]) -> hashmap<ident, @named_match> {
142
143
match parse(sess, cfg, rdr, ms) {
143
144
success(m) => m,
144
- failure(sp, str) => sess.span_diagnostic.span_fatal(sp, str)
145
+ failure(sp, str) => sess.span_diagnostic.span_fatal(sp, str),
146
+ error(sp, str) => sess.span_diagnostic.span_fatal(sp, str)
145
147
}
146
148
}
147
149
@@ -262,7 +264,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
262
264
nameize ( sess, ms,
263
265
vec:: map ( eof_eis[ 0 u] . matches , |dv| dv. pop ( ) ) ) ) ;
264
266
} else if eof_eis. len ( ) > 1 u {
265
- return failure ( sp, ~"Ambiguity : multiple successful parses") ;
267
+ return error ( sp, ~"Ambiguity : multiple successful parses") ;
266
268
} else {
267
269
return failure ( sp, ~"Unexpected end of macro invocation") ;
268
270
}
@@ -276,7 +278,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
276
278
}
277
279
_ => fail
278
280
} } ) , ~" or ") ;
279
- return failure ( sp, fmt ! {
281
+ return error ( sp, fmt ! {
280
282
"Local ambiguity: multiple parsing options: \
281
283
built-in NTs %s or %u other options.",
282
284
nts, next_eis. len( ) } ) ;
0 commit comments