mirror of
https://github.com/openharmony/third_party_rust_quote.git
synced 2026-07-19 13:53:59 -04:00
Fix boolean as $literal
This commit is contained in:
+15
-5
@@ -279,14 +279,24 @@ pub fn push_lifetime_spanned(tokens: &mut TokenStream, span: Span, lifetime: &st
|
||||
}
|
||||
|
||||
pub fn push_literal(tokens: &mut TokenStream, repr: &str) {
|
||||
let literal: Literal = repr.parse().expect("invalid literal");
|
||||
tokens.extend(iter::once(TokenTree::Literal(literal)));
|
||||
// Macro_rules's $literal matcher also matches `true`, `-true`, `false`,
|
||||
// `-false` which are not considered valid values for a proc_macro::Literal.
|
||||
if repr.ends_with('e') {
|
||||
parse(tokens, repr);
|
||||
} else {
|
||||
let literal: Literal = repr.parse().expect("invalid literal");
|
||||
tokens.extend(iter::once(TokenTree::Literal(literal)));
|
||||
}
|
||||
}
|
||||
|
||||
pub fn push_literal_spanned(tokens: &mut TokenStream, span: Span, repr: &str) {
|
||||
let mut literal: Literal = repr.parse().expect("invalid literal");
|
||||
literal.set_span(span);
|
||||
tokens.extend(iter::once(TokenTree::Literal(literal)));
|
||||
if repr.ends_with('e') {
|
||||
parse_spanned(tokens, span, repr);
|
||||
} else {
|
||||
let mut literal: Literal = repr.parse().expect("invalid literal");
|
||||
literal.set_span(span);
|
||||
tokens.extend(iter::once(TokenTree::Literal(literal)));
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! push_punct {
|
||||
|
||||
@@ -245,8 +245,6 @@ fn test_interpolated_literal() {
|
||||
let expected = "- 1";
|
||||
assert_eq!(expected, tokens.to_string());
|
||||
|
||||
// FIXME
|
||||
/*
|
||||
let tokens = m!(true);
|
||||
let expected = "true";
|
||||
assert_eq!(expected, tokens.to_string());
|
||||
@@ -254,7 +252,6 @@ fn test_interpolated_literal() {
|
||||
let tokens = m!(-true);
|
||||
let expected = "- true";
|
||||
assert_eq!(expected, tokens.to_string());
|
||||
*/
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user