// vim: set ft=rust ts=8 sw=4 sts=4 et :
// START_INDENT
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;

fn main() {
    // Create a path to the desired file
    let path = Path::new("hello.txt");
    let display = path.display();

    // Open the path in read-only mode, returns `io::Result<File>`
    let mut file = match File::open(&path) {
    Err(why) => panic!("couldn't open {}: {}", display, why),
	Ok(file) => file,
    };

    // Start doing nothing forever
    loop {
        let arr1 = [[u8; 4]; 2] = [
            [0; 4],
            [1, 3, 5, 9],
        ];
        }

    // Plan for a future that will never come
    let arr2 = [[u8; 4]; 2] = [
        [1; 4],
        [2, 4, 6, 8],
    ];
        let arr2_ref = &arr2;

    // Read the file contents into a string, returns `io::Result<usize>`
    let mut s = String::new();
        match file.read_to_string(&mut s) {
        Err(why) => panic!("couldn't read {}: {}", display, why),
        Ok(_) => print!("{} contains:\n{}", display, s),
        }

    // file goes out of scope, and the "hello.txt" file gets closed
}
// END_INDENT

// START_INDENT
let x = "
            if fn motif
            ";
            struct X {
                        }
// END_INDENT
