Skip to content
Snippets Groups Projects
Commit 8a1f801e authored by Henrik Theolin's avatar Henrik Theolin
Browse files

bare4_2

parent b270c7dc
No related branches found
No related tags found
No related merge requests found
......@@ -39,8 +39,8 @@ use address::*;
#[inline(always)]
fn read_u32(addr: u32) -> u32 {
unsafe { core::ptr::read_volatile(addr as *const _) }
//core::ptr::read_volatile(addr as *const _)
//unsafe { core::ptr::read_volatile(addr as *const _) }
core::ptr::read_volatile(addr as *const _)
}
#[inline(always)]
......@@ -108,12 +108,14 @@ fn main() -> ! {
//
// What was the error message and explain why.
//
// ** your answer here **
// ** "call to unsafe function is unsafe and requires unsafe function or block"
// The read_volatile takes a raw pointer as parameter, dereferencing a raw pointer is always considered unsafe
// **
//
// Digging a bit deeper, why do you think `read_volatile` is declared `unsafe`.
// (https://doc.rust-lang.org/core/ptr/fn.read_volatile.html, for some food for thought )
//
// ** your answer here **
// ** It's not certain that the memory address is readable or that the memory is aligned thus may result in undefined behavior **
//
// Commit your answers (bare4_2)
//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment