Skip to content

Commit 9a82594

Browse files
committed
Auto merge of #28097 - tbu-:pr_macro_to_const_fn, r=eddyb
2 parents 4bb9023 + aad7ea6 commit 9a82594

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

src/librustc_trans/trans/adt.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,12 @@ pub fn represent_type<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
177177
repr
178178
}
179179

180-
macro_rules! repeat_u8_as_u32 {
181-
($name:expr) => { (($name as u32) << 24 |
182-
($name as u32) << 16 |
183-
($name as u32) << 8 |
184-
($name as u32)) }
180+
const fn repeat_u8_as_u32(val: u8) -> u32 {
181+
(val as u32) << 24 | (val as u32) << 16 | (val as u32) << 8 | val as u32
185182
}
186-
macro_rules! repeat_u8_as_u64 {
187-
($name:expr) => { ((repeat_u8_as_u32!($name) as u64) << 32 |
188-
(repeat_u8_as_u32!($name) as u64)) }
183+
184+
const fn repeat_u8_as_u64(val: u8) -> u64 {
185+
(repeat_u8_as_u32(val) as u64) << 32 | repeat_u8_as_u32(val) as u64
189186
}
190187

191188
/// `DTOR_NEEDED_HINT` is a stack-local hint that just means
@@ -203,8 +200,8 @@ pub const DTOR_NEEDED_HINT: u8 = 0x3d;
203200
pub const DTOR_MOVED_HINT: u8 = 0x2d;
204201

205202
pub const DTOR_NEEDED: u8 = 0xd4;
206-
pub const DTOR_NEEDED_U32: u32 = repeat_u8_as_u32!(DTOR_NEEDED);
207-
pub const DTOR_NEEDED_U64: u64 = repeat_u8_as_u64!(DTOR_NEEDED);
203+
pub const DTOR_NEEDED_U32: u32 = repeat_u8_as_u32(DTOR_NEEDED);
204+
pub const DTOR_NEEDED_U64: u64 = repeat_u8_as_u64(DTOR_NEEDED);
208205
#[allow(dead_code)]
209206
pub fn dtor_needed_usize(ccx: &CrateContext) -> usize {
210207
match &ccx.tcx().sess.target.target.target_pointer_width[..] {
@@ -215,8 +212,8 @@ pub fn dtor_needed_usize(ccx: &CrateContext) -> usize {
215212
}
216213

217214
pub const DTOR_DONE: u8 = 0x1d;
218-
pub const DTOR_DONE_U32: u32 = repeat_u8_as_u32!(DTOR_DONE);
219-
pub const DTOR_DONE_U64: u64 = repeat_u8_as_u64!(DTOR_DONE);
215+
pub const DTOR_DONE_U32: u32 = repeat_u8_as_u32(DTOR_DONE);
216+
pub const DTOR_DONE_U64: u64 = repeat_u8_as_u64(DTOR_DONE);
220217
#[allow(dead_code)]
221218
pub fn dtor_done_usize(ccx: &CrateContext) -> usize {
222219
match &ccx.tcx().sess.target.target.target_pointer_width[..] {

src/libsyntax/ast.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,8 +1372,6 @@ pub struct TypeBinding {
13721372
pub span: Span,
13731373
}
13741374

1375-
1376-
// NB PartialEq method appears below.
13771375
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash)]
13781376
pub struct Ty {
13791377
pub id: NodeId,

0 commit comments

Comments
 (0)