diff --git a/src/io/io.rs b/src/io/io.rs index fb866b5..2c4acd3 100644 --- a/src/io/io.rs +++ b/src/io/io.rs @@ -22,17 +22,19 @@ pub trait Io { } } -pub struct ReadOnly { +pub struct ReadOnly { inner: I } -impl ReadOnly { +impl ReadOnly { pub const fn new(inner: I) -> ReadOnly { ReadOnly { inner: inner } } +} +impl ReadOnly { #[inline(always)] pub fn read(&self) -> I::Value { self.inner.read() @@ -44,17 +46,19 @@ impl ReadOnly { } } -pub struct WriteOnly { +pub struct WriteOnly { inner: I } -impl WriteOnly { +impl WriteOnly { pub const fn new(inner: I) -> WriteOnly { WriteOnly { inner: inner } } +} +impl WriteOnly { #[inline(always)] pub fn write(&mut self, value: I::Value) { self.inner.write(value) diff --git a/src/lib.rs b/src/lib.rs index 09ffda7..60c0c60 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,5 @@ #![feature(asm)] #![feature(llvm_asm)] -#![feature(const_fn)] // see https://github.com/rust-lang/rfcs/pull/2632 #![cfg_attr(not(test), no_std)] #[cfg(test)]