diff --git a/src/db.rs b/src/db.rs index 67b4a2d..fda1a3d 100644 --- a/src/db.rs +++ b/src/db.rs @@ -90,11 +90,11 @@ pub fn start(program_path: Option) { } } -fn read_and_run<'a>(path: &str) { +fn read_and_run(path: &str) { let path = Path::new(path); match std::fs::read_to_string(path) { - Ok(content) => match stmt::parse(&content, filename(&path)) { + Ok(content) => match stmt::parse(&content, filename(path)) { Ok(stmts) => run(stmts), Err(why) => eprintln!("error while parsing: {}.", why), }, diff --git a/src/stmt.rs b/src/stmt.rs index 49d5738..f545b7d 100644 --- a/src/stmt.rs +++ b/src/stmt.rs @@ -223,8 +223,8 @@ fn parse_line(line: &str) -> Result { } "STOP" => IrStmt::Stop, stmt => { - if stmt.starts_with('.') { - IrStmt::Label(&stmt[1..]) + if let Some(stripped) = stmt.strip_prefix('.') { + IrStmt::Label(stripped) } else if stmt.starts_with('#') { IrStmt::None } else {