Skip to content

Commit c127c32

Browse files
committed
Make sure need_disambiguation is taken into account when checking sequence repetitions.
1 parent 20e1fd9 commit c127c32

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/libsyntax/ext/tt/macro_rules.rs

+15-3
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,11 @@ fn check_matcher_firsts(cx: &ExtCtxt, ma: &[TokenTree], mb: &[TokenTree],
672672
};
673673
}
674674

675-
return ret;
675+
return match ret {
676+
Ok => Ok,
677+
Unsure => if need_disambiguation { Error } else { Unsure },
678+
Error => Error
679+
};
676680
}
677681

678682
(&TokenTree::Sequence(sp, ref seq), _) => {
@@ -695,7 +699,11 @@ fn check_matcher_firsts(cx: &ExtCtxt, ma: &[TokenTree], mb: &[TokenTree],
695699
};
696700
}
697701

698-
return ret;
702+
return match ret {
703+
Ok => Ok,
704+
Unsure => if need_disambiguation { Error } else { Unsure },
705+
Error => Error
706+
};
699707
}
700708

701709
(_, &TokenTree::Sequence(sp, ref seq)) => {
@@ -719,7 +727,11 @@ fn check_matcher_firsts(cx: &ExtCtxt, ma: &[TokenTree], mb: &[TokenTree],
719727

720728
}
721729

722-
return ret;
730+
return match ret {
731+
Ok => Ok,
732+
Unsure => if need_disambiguation { Error } else { Unsure },
733+
Error => Error
734+
};
723735
}
724736

725737
(&TokenTree::Token(_, MatchNt(_, nta)),

0 commit comments

Comments
 (0)