diff --git a/examples/bare3.rs b/examples/bare3.rs
index 591558365440e5462c95a501a57f202d456557ad..b14b8107055053e60a7d2e29b58860360003c2b4 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();
+    let c: &u8;
     for c in bs {
         hprint!("{},", c).unwrap();
     }
 
     hprintln!("iterate iterate using (raw) indexing").unwrap();
+    let i: usize;
     for i in 0..s.len() {
         hprintln!("{},", bs[i]).unwrap();
     }
 
     hprintln!("").unwrap();
 
-    let a = [65u8; 4];
+    let a: [u8;4] = [65u8; 4];
     // let mut a = [0u8; 4];
 
     hprintln!("").unwrap();