Update to use newer Rust features.

This re-introduces several cleanups that we previously deferred for not
supporting Rust 1.25.
This commit is contained in:
Dan Gohman
2018-10-24 11:10:20 -07:00
parent 62e55f63e6
commit 9471c06da4
11 changed files with 14 additions and 33 deletions

View File

@@ -105,7 +105,7 @@ impl<F: Forest> NodeData<F> {
let size = usize::from(size);
// TODO: We could probably use `get_unchecked()` here since `size` is always in
// range.
(&keys[0..size], &tree[0..size + 1])
(&keys[0..size], &tree[0..=size])
}
_ => panic!("Expected inner node"),
}
@@ -175,10 +175,10 @@ impl<F: Forest> NodeData<F> {
debug_assert!(sz <= keys.len());
debug_assert!(index <= sz, "Can't insert at {} with {} keys", index, sz);
if let Some(ks) = keys.get_mut(0..sz + 1) {
if let Some(ks) = keys.get_mut(0..=sz) {
*size = (sz + 1) as u8;
slice_insert(ks, index, key);
slice_insert(&mut tree[1..sz + 2], index, node);
slice_insert(&mut tree[1..=sz + 1], index, node);
true
} else {
false
@@ -203,10 +203,10 @@ impl<F: Forest> NodeData<F> {
debug_assert!(sz <= keys.len());
debug_assert!(index <= sz);
if let Some(ks) = keys.get_mut(0..sz + 1) {
if let Some(ks) = keys.get_mut(0..=sz) {
*size = (sz + 1) as u8;
slice_insert(ks, index, key);
slice_insert(&mut vals[0..sz + 1], index, value);
slice_insert(&mut vals[0..=sz], index, value);
true
} else {
false

View File

@@ -101,14 +101,7 @@ impl Context {
let code_size = self.compile(isa)?;
let old_len = mem.len();
mem.resize(old_len + code_size as usize, 0);
unsafe {
self.emit_to_memory(
isa,
mem.as_mut_ptr().offset(old_len as isize),
relocs,
traps,
)
};
unsafe { self.emit_to_memory(isa, mem.as_mut_ptr().add(old_len), relocs, traps) };
Ok(())
}

View File

@@ -127,7 +127,7 @@ fn maybe_resolve_aliases(values: &PrimaryMap<Value, ValueData>, value: Value) ->
let mut v = value;
// Note that values may be empty here.
for _ in 0..values.len() + 1 {
for _ in 0..=values.len() {
if let ValueData::Alias { original, .. } = values[v] {
v = original;
} else {

View File

@@ -8,8 +8,6 @@
plugin(clippy(conf_file = "../../clippy.toml"))
)]
#![cfg_attr(feature="cargo-clippy", allow(
// This requires Rust 1.27 or later.
duration_subsec,
// Produces only a false positive:
while_let_loop,
// Produces many false positives, but did produce some valid lints, now fixed:

View File

@@ -154,7 +154,7 @@ mod details {
fn fmtdur(mut dur: Duration, f: &mut fmt::Formatter) -> fmt::Result {
// Round to nearest ms by adding 500us.
dur += Duration::new(0, 500_000);
let ms = dur.subsec_nanos() / 1_000_000;
let ms = dur.subsec_millis();
write!(f, "{:4}.{:03} ", dur.as_secs(), ms)
}

View File

@@ -234,7 +234,7 @@ impl<T: EntityRef> EntityList<T> {
let block = pool.alloc(sclass_for_length(len));
pool.data[block] = T::new(len);
pool.data[block + 1..block + len + 1].copy_from_slice(slice);
pool.data[block + 1..=block + len].copy_from_slice(slice);
Self {
index: (block + 1) as u32,

View File

@@ -12,7 +12,7 @@ readme = "README.md"
cranelift-codegen = { path = "../codegen", version = "0.22.0" }
cranelift-module = { path = "../module", version = "0.22.0" }
faerie = "0.5.0"
goblin = "0.0.17"
goblin = "0.0.19"
failure = "0.1.2"
target-lexicon = "0.0.3"

View File

@@ -10,11 +10,7 @@
unstable_features
)]
#![warn(unused_import_braces)]
#![cfg_attr(feature = "cargo-clippy",
allow(
type_complexity,
// This requires Rust 1.27 or later.
duration_subsec))]
#![cfg_attr(feature = "cargo-clippy", allow(type_complexity))]
#![cfg_attr(
feature = "cargo-clippy",
warn(

View File

@@ -47,13 +47,7 @@ impl Display for QueueEntry {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let p = self.path.to_string_lossy();
match self.state {
State::Done(Ok(dur)) => write!(
f,
"{}.{:03} {}",
dur.as_secs(),
dur.subsec_nanos() / 1_000_000,
p
),
State::Done(Ok(dur)) => write!(f, "{}.{:03} {}", dur.as_secs(), dur.subsec_millis(), p),
State::Done(Err(ref e)) => write!(f, "FAIL {}: {}", p, e),
_ => write!(f, "{}", p),
}

View File

@@ -13,7 +13,7 @@ readme = "README.md"
cranelift-codegen = { path = "../codegen", version = "0.22.0", default-features = false }
cranelift-module = { path = "../module", version = "0.22.0", default-features = false }
cranelift-native = { path = "../native", version = "0.22.0", default-features = false }
region = "0.3.0"
region = "1.0.0"
libc = { version = "0.2.42", default-features = false }
errno = "0.2.4"
target-lexicon = { version = "0.0.3", default-features = false }

View File

@@ -100,7 +100,7 @@ impl Memory {
pub fn allocate(&mut self, size: usize) -> Result<*mut u8, String> {
if size <= self.current.len - self.position {
// TODO: Ensure overflow is not possible.
let ptr = unsafe { self.current.ptr.offset(self.position as isize) };
let ptr = unsafe { self.current.ptr.add(self.position) };
self.position += size;
return Ok(ptr);
}