mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
Rollup merge of #48402 - eddyb:y-u-no-inline, r=nikomatsakis
rustc_data_structures: add missing #[inline]. r? @nikomatsakis
This commit is contained in:
commit
6ec5dc399c
@ -24,6 +24,7 @@ pub trait BitSlice {
|
||||
|
||||
impl BitSlice for [Word] {
|
||||
/// Clears bit at `idx` to 0; returns true iff this changed `self.`
|
||||
#[inline]
|
||||
fn clear_bit(&mut self, idx: usize) -> bool {
|
||||
let words = self;
|
||||
debug!("clear_bit: words={} idx={}",
|
||||
@ -37,6 +38,7 @@ impl BitSlice for [Word] {
|
||||
}
|
||||
|
||||
/// Sets bit at `idx` to 1; returns true iff this changed `self.`
|
||||
#[inline]
|
||||
fn set_bit(&mut self, idx: usize) -> bool {
|
||||
let words = self;
|
||||
debug!("set_bit: words={} idx={}",
|
||||
@ -50,6 +52,7 @@ impl BitSlice for [Word] {
|
||||
}
|
||||
|
||||
/// Extracts value of bit at `idx` in `self`.
|
||||
#[inline]
|
||||
fn get_bit(&self, idx: usize) -> bool {
|
||||
let words = self;
|
||||
let BitLookup { word, bit_mask, .. } = bit_lookup(idx);
|
||||
|
@ -29,12 +29,16 @@ pub trait Idx: Copy + 'static + Eq + Debug {
|
||||
}
|
||||
|
||||
impl Idx for usize {
|
||||
#[inline]
|
||||
fn new(idx: usize) -> Self { idx }
|
||||
#[inline]
|
||||
fn index(self) -> usize { self }
|
||||
}
|
||||
|
||||
impl Idx for u32 {
|
||||
#[inline]
|
||||
fn new(idx: usize) -> Self { assert!(idx <= u32::MAX as usize); idx as u32 }
|
||||
#[inline]
|
||||
fn index(self) -> usize { self as usize }
|
||||
}
|
||||
|
||||
@ -73,11 +77,13 @@ macro_rules! newtype_index {
|
||||
pub struct $type($($pub)* u32);
|
||||
|
||||
impl Idx for $type {
|
||||
#[inline]
|
||||
fn new(value: usize) -> Self {
|
||||
assert!(value < ($max) as usize);
|
||||
$type(value as u32)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn index(self) -> usize {
|
||||
self.0 as usize
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user