From a5f08ad436ee3154b839953974765d0d781030f7 Mon Sep 17 00:00:00 2001
From: Emil Kitti <emil.kitti@outlook.com>
Date: Fri, 26 Jan 2018 19:46:35 +0100
Subject: [PATCH] bare0_5

---
 examples/bare0.rs | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/examples/bare0.rs b/examples/bare0.rs
index 075a762..1749032 100644
--- a/examples/bare0.rs
+++ b/examples/bare0.rs
@@ -18,17 +18,29 @@ static mut Y: u32 = 0;
 
 #[inline(never)]
 fn main() {
-    let mut x = unsafe { X };
+    let mut x = read_x();
 
     loop {
         x = x.wrapping_add(1);
-        unsafe {
-            X = X.wrapping_add(1);
-            Y = X;
-            assert!(x == X && X == Y + 1);
-        }
+        write_x(read_x().wrapping_add(1));
+        write_y(read_x());
     }
 }
+
+fn write_y(y: u32) {
+    unsafe {
+        Y = y;
+    }
+}
+fn read_x() -> u32 {
+    unsafe { X }
+}
+fn write_x(x: u32) {
+    unsafe {
+        X = x;
+    }
+}
+
 // 1. run the program in the debugger,
 //    let the program run for a while and then press pause
 //    look in the (Local -vscode) Variables view what do you find
-- 
GitLab