diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2020-02-22 20:19:49 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2020-02-24 13:03:58 +0300 |
| commit | 59261f0a7cf264f16e2b6a4e87d4249b212e920e (patch) | |
| tree | 17c829ac5904f8353ef602550d8aedcaf25047c3 /src/libsyntax/util | |
| parent | 79cd224e758f603898b64308e849fbb9be6e6f4d (diff) | |
| download | rust-59261f0a7cf264f16e2b6a4e87d4249b212e920e.tar.gz rust-59261f0a7cf264f16e2b6a4e87d4249b212e920e.zip | |
Add some missing support for `NtIdent`
Diffstat (limited to 'src/libsyntax/util')
| -rw-r--r-- | src/libsyntax/util/literal.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libsyntax/util/literal.rs b/src/libsyntax/util/literal.rs index 0c611adc06b..ecf17efc4e0 100644 --- a/src/libsyntax/util/literal.rs +++ b/src/libsyntax/util/literal.rs @@ -197,10 +197,17 @@ impl Lit { } token::Literal(lit) => lit, token::Interpolated(ref nt) => { - if let token::NtExpr(expr) | token::NtLiteral(expr) = &**nt { - if let ast::ExprKind::Lit(lit) = &expr.kind { - return Ok(lit.clone()); + match &**nt { + token::NtIdent(ident, false) if ident.name.is_bool_lit() => { + let lit = token::Lit::new(token::Bool, ident.name, None); + return Lit::from_lit_token(lit, ident.span); } + token::NtExpr(expr) | token::NtLiteral(expr) => { + if let ast::ExprKind::Lit(lit) = &expr.kind { + return Ok(lit.clone()); + } + } + _ => {} } return Err(LitError::NotLiteral); } |
