diff --git a/examples/bare3.rs b/examples/bare3.rs
index 33f02ea4580aefe5c9430de911a88ff76041d7b8..c7dc227ae3777b384a6574d49d8bd04d4f6b4772 100644
--- a/examples/bare3.rs
+++ b/examples/bare3.rs
@@ -18,25 +18,27 @@ 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();