I am doing some simple stuff with rust... just touching some ground you know.
So I was playing with command line arguments, and I can't go past this:
use std::os::args;
fn main(){
    let arg1 = args().get(1).to_str();
    let help_command = "help";
    if args().len() == 1 {
            println!("No arguments.");
    }
    else if args().len() == 2 {
            match arg1 {
                    help_command => println!("Do ..."),
                    _    => println!("no valid argument")
            }
    }
}
I can't compile... The error is:
main.rs:17:4: 17:5 error: unreachable pattern
main.rs:17                      _    => println!("no valid argument")
                                ^
error: aborting due to previous error
Also, I am using Rust 0.11.0-pre-nightly.
EDIT: Also, if I go with this approach:
match arg1 { 
    "help" => { /* ... / }, 
    _ => { / ... */ }, 
}
It throws another error:
error: mismatched types: expected collections::string::String but found &'static str (expected struct collections::string::String but found &-ptr) 
 
     
    