Rollup merge of #48402 - eddyb:y-u-no-inline, r=nikomatsakis

rustc_data_structures: add missing #[inline].

r? @nikomatsakis
This commit is contained in:
Manish Goregaokar 2018-02-24 08:55:53 -08:00
commit 6ec5dc399c
2 changed files with 9 additions and 0 deletions

View File

@ -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);

View File

@ -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
}