diff --git a/examples/bare3.rs b/examples/bare3.rs
index cb1915bba25543e10d3841ab6327d613547eaa3d..caeba37333a6254764ad738dc9a54a76e04c2aa6 100644
--- a/examples/bare3.rs
+++ b/examples/bare3.rs
@@ -18,25 +18,28 @@ use cortex_m_semihosting::{hprint, hprintln};
 #[entry]
 fn main() -> ! {
     hprintln!("bare3").unwrap();
-    let s = "ABCD";
-    let bs = s.as_bytes();
+    let s: &str = "ABCD";
+    let bs: &[u8] = s.as_bytes();
 
     hprintln!("s = {}", s).unwrap();
     hprintln!("bs = {:?}", bs).unwrap();
 
     hprintln!("iterate over slice").unwrap();
+    
     for c in bs {
+        let c: &u8 = c;
         hprint!("{},", c).unwrap();
     }
 
     hprintln!("iterate iterate using (raw) indexing").unwrap();
     for i in 0..s.len() {
+        let i: usize = i;
         hprintln!("{},", bs[i]).unwrap();
     }
 
     hprintln!("").unwrap();
 
-    let a = [65u8; 4];
+    let a: [u8; 4] = [65u8; 4];
     //let mut a = [0u8; 4];
 
     hprintln!("").unwrap();