Commit 8d0015be authored by Jeremy Soller's avatar Jeremy Soller

Merge branch 'improved-mmio' into 'master'

Allow Mmio to work with const fn

See merge request !43
parents 6beba083 e380f6b3
Pipeline #6968 failed with stages
in 1 minute
......@@ -5,7 +5,7 @@ pub struct Error {
pub errno: i32,
}
pub type Result<T> = result::Result<T, Error>;
pub type Result<T, E = Error> = result::Result<T, E>;
impl Error {
pub fn new(errno: i32) -> Error {
......
......@@ -11,9 +11,23 @@ pub struct Mmio<T> {
impl<T> Mmio<T> {
/// Create a new Mmio without initializing
#[deprecated = "unsound because it's possible to read even though it's uninitialized"]
pub fn new() -> Self {
Mmio {
value: MaybeUninit::uninit()
unsafe { Self::uninit() }
}
pub unsafe fn zeroed() -> Self {
Self {
value: MaybeUninit::zeroed(),
}
}
pub unsafe fn uninit() -> Self {
Self {
value: MaybeUninit::uninit(),
}
}
pub const fn from(value: T) -> Self {
Self {
value: MaybeUninit::new(value),
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment