diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-24 07:14:41 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-02-24 12:08:34 +0530 |
| commit | 3ca54390095085eaae0baf85b0d1552067c5ee1b (patch) | |
| tree | e50973fda6443d39eda491461c4da0f6ddf3f08f /src/libsyntax/ext | |
| parent | eaacc7aad5817ca10277ea6658d6e23b88d4cf77 (diff) | |
| parent | 1db684f67ad277ab7a002ee238872ca68fb13b27 (diff) | |
| download | rust-3ca54390095085eaae0baf85b0d1552067c5ee1b.tar.gz rust-3ca54390095085eaae0baf85b0d1552067c5ee1b.zip | |
Rollup merge of #22700 - nick29581:ints_hash, r=alexcrichton
fmt and hash are pretty straightforward I think. sync is a bit more complex. I thought one or two of the `isize`s ought to be `i32`s, but that would require a bunch of casting (the root cause being the lack of atomics other than isize/usize). r? @alexcrichton
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/format.rs | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index c79b510ae2d..5d9eeeeda1b 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -702,6 +702,9 @@ impl<'a> AstBuilder for ExtCtxt<'a> { self.expr_lit(sp, ast::LitInt(i as u64, ast::SignedIntLit(ast::TyIs(false), ast::Sign::new(i)))) } + fn expr_u32(&self, sp: Span, u: u32) -> P<ast::Expr> { + self.expr_lit(sp, ast::LitInt(u as u64, ast::UnsignedIntLit(ast::TyU32))) + } fn expr_u8(&self, sp: Span, u: u8) -> P<ast::Expr> { self.expr_lit(sp, ast::LitInt(u as u64, ast::UnsignedIntLit(ast::TyU8))) } diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs index 1c2374e31f1..91262556abd 100644 --- a/src/libsyntax/ext/format.rs +++ b/src/libsyntax/ext/format.rs @@ -417,7 +417,7 @@ impl<'a, 'b> Context<'a, 'b> { parse::AlignUnknown => align("Unknown"), }; let align = self.ecx.expr_path(align); - let flags = self.ecx.expr_usize(sp, arg.format.flags); + let flags = self.ecx.expr_u32(sp, arg.format.flags); let prec = self.trans_count(arg.format.precision); let width = self.trans_count(arg.format.width); let path = self.ecx.path_global(sp, Context::rtpath(self.ecx, "FormatSpec")); @@ -610,7 +610,7 @@ impl<'a, 'b> Context<'a, 'b> { ecx.ident_of_std("core"), ecx.ident_of("fmt"), ecx.ident_of("ArgumentV1"), - ecx.ident_of("from_uint")], vec![arg]) + ecx.ident_of("from_usize")], vec![arg]) } }; |
