Special case for empty comments

This commit is contained in:
Edwin Cheng 2020-04-25 17:37:34 +08:00
parent 44e6c2cb54
commit d20eea073e
2 changed files with 16 additions and 0 deletions

View file

@ -1849,3 +1849,16 @@ fn test_expand_bad_literal() {
)
.assert_expand_err(r#"foo!(&k");"#, &ExpandError::BindingError("".into()));
}
#[test]
fn test_empty_comments() {
parse_macro(
r#"
macro_rules! one_arg_macro { ($fmt:expr) => (); }
"#,
)
.assert_expand_err(
r#"one_arg_macro!(/**/)"#,
&ExpandError::BindingError("expected Expr".into()),
);
}

View file

@ -56,6 +56,9 @@ const COMMENT_PREFIX_TO_KIND: &[(&str, CommentKind)] = {
};
fn kind_by_prefix(text: &str) -> CommentKind {
if text == "/**/" {
return CommentKind { shape: CommentShape::Block, doc: None };
}
for (prefix, kind) in COMMENT_PREFIX_TO_KIND.iter() {
if text.starts_with(prefix) {
return *kind;