diff options
| author | bors <bors@rust-lang.org> | 2016-12-31 18:54:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-12-31 18:54:31 +0000 |
| commit | 38bd207626fa46445d58404099b0a2f0bf8e0934 (patch) | |
| tree | 0763e040e47b547921f654e31894f7a67145df6d /src/libsyntax/parse/parser.rs | |
| parent | 6185c5445210966cfd1acb011b4faf4b4eaf9d97 (diff) | |
| parent | 29e01af6a68817a12c1fc5fa04c483d2200c3cbb (diff) | |
| download | rust-38bd207626fa46445d58404099b0a2f0bf8e0934.tar.gz rust-38bd207626fa46445d58404099b0a2f0bf8e0934.zip | |
Auto merge of #38482 - est31:i128, r=eddyb
i128 and u128 support Brings i128 and u128 support to nightly rust, behind a feature flag. The goal of this PR is to do the bulk of the work for 128 bit integer support. Smaller but just as tricky features needed for stabilisation like 128 bit enum discriminants are left for future PRs. Rebased version of #37900, which in turn was a rebase + improvement of #35954 . Sadly I couldn't reopen #37900 due to github. There goes my premium position in the homu queue... [plugin-breaking-change] cc #35118 (tracking issue)
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index a0ed50b33a4..2bb38433a26 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -64,6 +64,8 @@ use std::path::{Path, PathBuf}; use std::rc::Rc; use std::slice; +use rustc_i128::u128; + bitflags! { flags Restrictions: u8 { const RESTRICTION_STMT_EXPR = 1 << 0, @@ -2044,7 +2046,7 @@ impl<'a> Parser<'a> { pub fn mk_lit_u32(&mut self, i: u32, attrs: ThinVec<Attribute>) -> P<Expr> { let span = &self.span; let lv_lit = P(codemap::Spanned { - node: LitKind::Int(i as u64, ast::LitIntType::Unsigned(UintTy::U32)), + node: LitKind::Int(i as u128, ast::LitIntType::Unsigned(UintTy::U32)), span: *span }); |
