Skip to content

Commit c290a18

Browse files
committed
Resolve compilation errors caused by Rust upgrade
1 parent c5a930c commit c290a18

File tree

12 files changed

+51
-89
lines changed

12 files changed

+51
-89
lines changed

src/common/ring_buffer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ pub struct RingBuffer<'a, T: 'a> {
88
}
99

1010
impl<'a, T: Copy> RingBuffer<'a, T> {
11-
pub const fn new(ring: &'a mut [T]) -> RingBuffer<'a, T> {
11+
pub fn new(ring: &'a mut [T]) -> RingBuffer<'a, T> {
1212
RingBuffer {
1313
head: 0,
1414
tail: 0,

src/drivers/console.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub struct Console<'a, U: UART + 'a> {
3737
}
3838

3939
impl<'a, U: UART> Console<'a, U> {
40-
pub const fn new(uart: &'a U, buffer: &'static mut [u8],
40+
pub fn new(uart: &'a U, buffer: &'static mut [u8],
4141
container: Container<App>) -> Console<'a, U> {
4242
Console {
4343
uart: uart,
@@ -169,10 +169,9 @@ impl<'a, U: UART> Client for Console<'a, U> {
169169
self.apps.each(|app| {
170170
let idx = app.read_idx;
171171
app.read_buffer = app.read_buffer.take().map(|mut rb| {
172-
use core::raw::Repr;
173172
app.read_callback.as_mut().map(|cb| {
174173
let buf = rb.as_mut();
175-
cb.schedule(idx, (buf.repr().data as usize), 0);
174+
cb.schedule(idx, (buf.as_ptr() as usize), 0);
176175
});
177176
rb
178177
});

src/drivers/isl29035.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ pub struct Isl29035<'a> {
2424
}
2525

2626
impl<'a> Isl29035<'a> {
27-
pub const fn new(i2c: &'a I2CDevice, buffer: &'static mut [u8])
27+
pub fn new(i2c: &'a I2CDevice, buffer: &'static mut [u8])
2828
-> Isl29035<'a> {
2929
Isl29035 {
3030
i2c: i2c,

src/drivers/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#![crate_name = "drivers"]
22
#![crate_type = "rlib"]
3-
#![feature(const_fn, raw)]
3+
#![feature(const_fn)]
44
#![no_std]
55

66
extern crate common;

src/drivers/nrf51822_serialization.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub struct Nrf51822Serialization<'a, U: UART + 'a> {
2929
}
3030

3131
impl<'a, U: UART> Nrf51822Serialization<'a, U> {
32-
pub const fn new(uart: &'a U, buffer: &'static mut [u8]) -> Nrf51822Serialization<'a, U> {
32+
pub fn new(uart: &'a U, buffer: &'static mut [u8]) -> Nrf51822Serialization<'a, U> {
3333
Nrf51822Serialization {
3434
uart: uart,
3535
apps: [TakeCell::empty(), TakeCell::empty()],

src/drivers/timer.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use core::cell::Cell;
22
use process::{AppId, Container, Callback};
33
use hil::Driver;
44
use hil::alarm::{Alarm, AlarmClient, Frequency};
5-
use hil::timer::{Timer};
65

76
#[derive(Copy, Clone)]
87
pub struct TimerData {

src/platform/storm/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ extern crate process;
1313

1414
use hil::Controller;
1515
use hil::spi_master::SpiMaster;
16-
use hil::gpio::GPIOPin;
1716
use drivers::virtual_alarm::{MuxAlarm, VirtualMuxAlarm};
18-
use drivers::virtual_i2c::{MuxI2C, I2CDevice};
17+
use drivers::virtual_i2c::MuxI2C;
1918

2019
#[macro_use]
2120
pub mod io;

src/process/container.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use core::marker::PhantomData;
44
use core::mem::size_of;
55
use core::ops::{Deref, DerefMut};
66
use core::ptr::Unique;
7-
use core::raw::Repr;
87
use process::{self, Error};
98

109
pub static mut CONTAINER_COUNTER : usize = 0;
@@ -88,7 +87,7 @@ impl<'a> Allocator<'a> {
8887
let app_id = self.app_id;
8988
self.app.alloc(size_of::<T>()).map_or(Err(Error::OutOfMemory),
9089
|arr| {
91-
let mut owned = Owned::new(arr.repr().data as *mut T, app_id);
90+
let mut owned = Owned::new(arr.as_mut_ptr() as *mut T, app_id);
9291
*owned = data;
9392
Ok(owned)
9493
})

src/process/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#![crate_name = "process"]
22
#![crate_type = "rlib"]
33
#![no_std]
4-
#![feature(core_intrinsics,clone_from_slice,raw,unique,nonzero,const_fn)]
4+
#![feature(core_intrinsics,unique,nonzero,const_fn)]
55

66
extern crate common;
77
extern crate support;

src/process/mem.rs

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
use core::mem;
21
use core::marker::PhantomData;
32
use core::ops::{Deref,DerefMut};
43
use core::ptr::Unique;
5-
use core::raw::Slice;
4+
use core::slice;
65
use process;
76

87
use AppId;
@@ -49,7 +48,7 @@ impl<L, T> Drop for AppPtr<L, T> {
4948
unsafe {
5049
let ps = &mut process::PROCS;
5150
if ps.len() < self.process.idx() {
52-
ps[self.process.idx()].as_mut().map(|process|
51+
ps[self.process.idx()].as_mut().map(|process|
5352
process.free(self.ptr.get_mut())
5453
);
5554
}
@@ -78,23 +77,13 @@ impl<L, T> AppSlice<L, T> {
7877

7978
impl<L, T> AsRef<[T]> for AppSlice<L, T> {
8079
fn as_ref(&self) -> &[T] {
81-
unsafe {
82-
mem::transmute(Slice{
83-
data: self.ptr.ptr.get(),
84-
len: self.len
85-
})
86-
}
80+
unsafe { slice::from_raw_parts(self.ptr.ptr.get(), self.len) }
8781
}
8882
}
8983

9084
impl<L, T> AsMut<[T]> for AppSlice<L, T> {
9185
fn as_mut(&mut self) -> &mut [T] {
92-
unsafe {
93-
mem::transmute(Slice{
94-
data: self.ptr.ptr.get(),
95-
len: self.len
96-
})
97-
}
86+
unsafe { slice::from_raw_parts_mut(self.ptr.ptr.get_mut(), self.len) }
9887
}
9988
}
10089

0 commit comments

Comments
 (0)