[INFO] crate gramatica 0.1.4 is already in cache
[INFO] checking gramatica-0.1.4 against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] extracting crate gramatica 0.1.4 into /workspace/builds/worker-2/source
[INFO] validating manifest of crates.io crate gramatica 0.1.4 on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate gramatica 0.1.4
[INFO] finished tweaking crates.io crate gramatica 0.1.4
[INFO] tweaked toml for crates.io crate gramatica 0.1.4 written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 4c7d9e4c9d227a0bd775d93812d02c12c6c5eb6416200c5fb0bc49a8e5ba8f72
[INFO] running `"docker" "start" "-a" "4c7d9e4c9d227a0bd775d93812d02c12c6c5eb6416200c5fb0bc49a8e5ba8f72"`
[INFO] [stderr]     Checking gramatica v0.1.4 (/opt/rustwide/workdir)
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lib.rs:761:9
[INFO] [stderr]     |
[INFO] [stderr] 761 |                     'a'...'z' | 'A'...'Z' | '_' => return None,
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lib.rs:761:21
[INFO] [stderr]     |
[INFO] [stderr] 761 |                     'a'...'z' | 'A'...'Z' | '_' => return None,
[INFO] [stderr]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lib.rs:761:9
[INFO] [stderr]     |
[INFO] [stderr] 761 |                     'a'...'z' | 'A'...'Z' | '_' => return None,
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lib.rs:761:21
[INFO] [stderr]     |
[INFO] [stderr] 761 |                     'a'...'z' | 'A'...'Z' | '_' => return None,
[INFO] [stderr]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 | match { match parser.re("[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?",source) { None => None, Some((size,string)) => Some((size,string.parse::<f64>().unwrap() )) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:27:7
[INFO] [stderr]    |
[INFO] [stderr] 27 | match { match parser.re("\\+",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:29:7
[INFO] [stderr]    |
[INFO] [stderr] 29 | match { match parser.re("-",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 31 | match { match parser.re("\\*",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | match { match parser.re("/",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:35:7
[INFO] [stderr]    |
[INFO] [stderr] 35 | match { match parser.re("\\^",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:37:7
[INFO] [stderr]    |
[INFO] [stderr] 37 | match { match parser.re("\\(",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:39:7
[INFO] [stderr]    |
[INFO] [stderr] 39 | match { match parser.re("\\)",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:41:7
[INFO] [stderr]    |
[INFO] [stderr] 41 | match { match parser.re("\\n",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/calculator.rs:43:7
[INFO] [stderr]    |
[INFO] [stderr] 43 | match { match parser.re("\\s+",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> examples/xml.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]   --> examples/xml.rs:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::io::{BufRead,Read};
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:35:7
[INFO] [stderr]    |
[INFO] [stderr] 35 | match { match parser.re("(\\s|\n)+",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:37:7
[INFO] [stderr]    |
[INFO] [stderr] 37 | match { match parser.re("[a-zA-Z\\x80-\\xff_][a-zA-Z0-9\\x80-\\xff_]*",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]   --> examples/xml.rs:44:1
[INFO] [stderr]    |
[INFO] [stderr] 44 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]    | ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> examples/xml.rs:44:74
[INFO] [stderr]    |
[INFO] [stderr] 44 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:54:7
[INFO] [stderr]    |
[INFO] [stderr] 54 | match { match parser.re("/>",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:56:7
[INFO] [stderr]    |
[INFO] [stderr] 56 | match { match parser.re("</",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:58:7
[INFO] [stderr]    |
[INFO] [stderr] 58 | match { match parser.re("=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:60:7
[INFO] [stderr]    |
[INFO] [stderr] 60 | match { match parser.re("<",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:62:7
[INFO] [stderr]    |
[INFO] [stderr] 62 | match { match parser.re(">",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/xml.rs:64:7
[INFO] [stderr]    |
[INFO] [stderr] 64 | match { match parser.re(".",source) { None => None, Some((size,string)) => Some((size,string.parse::<char>().unwrap() )) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> examples/xml.rs:130:115
[INFO] [stderr]     |
[INFO] [stderr] 130 | (&Token::Attributes(ref attrs),&Token::Space(_),&Token::Attribute(ref a,ref b)) => Token::Attributes({let mut new=(attrs.clone());
[INFO] [stderr]     |                                                                                                                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> examples/xml.rs:151:112
[INFO] [stderr]     |
[INFO] [stderr] 151 | (&Token::Contents(ref list),&Token::Element(ref elem),&Token::CharData(ref s)) => Token::Contents({let mut new=(list.clone());
[INFO] [stderr]     |                                                                                                                ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]   --> examples/xml.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,String)>{
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> examples/xml.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | stdin.lock().read_to_string(&mut buf);
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> examples/json.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]   --> examples/json.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::io::{BufRead,Read};
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 | match { match parser.keyword("true",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:35:7
[INFO] [stderr]    |
[INFO] [stderr] 35 | match { match parser.keyword("false",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:37:7
[INFO] [stderr]    |
[INFO] [stderr] 37 | match { match parser.keyword("null",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:39:7
[INFO] [stderr]    |
[INFO] [stderr] 39 | match { match parser.re("[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?",source) { None => None, Some((size,string)) => Some((size,string.parse::<f64>().unwrap() )) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]   --> examples/json.rs:46:1
[INFO] [stderr]    |
[INFO] [stderr] 46 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]    | ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> examples/json.rs:46:74
[INFO] [stderr]    |
[INFO] [stderr] 46 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:56:7
[INFO] [stderr]    |
[INFO] [stderr] 56 | match { match parser.re("\\{",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:58:7
[INFO] [stderr]    |
[INFO] [stderr] 58 | match { match parser.re("\\}",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:60:7
[INFO] [stderr]    |
[INFO] [stderr] 60 | match { match parser.re("\\[",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:62:7
[INFO] [stderr]    |
[INFO] [stderr] 62 | match { match parser.re("\\]",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:64:7
[INFO] [stderr]    |
[INFO] [stderr] 64 | match { match parser.re(",",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:66:7
[INFO] [stderr]    |
[INFO] [stderr] 66 | match { match parser.re(":",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]   --> examples/json.rs:68:7
[INFO] [stderr]    |
[INFO] [stderr] 68 | match { match parser.re("\\s+|\n",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> examples/json.rs:112:104
[INFO] [stderr]     |
[INFO] [stderr] 112 | (&Token::Members(ref list),&Token::Comma,&Token::Pair(ref s,ref value)) => Token::Members({let mut new=(list.clone());
[INFO] [stderr]     |                                                                                                        ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> examples/json.rs:128:101
[INFO] [stderr]     |
[INFO] [stderr] 128 | (&Token::Elements(ref list),&Token::Comma,&Token::Value(ref value)) => Token::Elements({let mut new=(list.clone());
[INFO] [stderr]     |                                                                                                     ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:185:32
[INFO] [stderr]     |
[INFO] [stderr] 185 |                 parser.sets[index].predict(State{rule:1,left:10,right:vec![],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![],computed_value:Token::DummyStart});//Input -> ()
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:186:32
[INFO] [stderr]     |
[INFO] [stderr] 186 |                 parser.sets[index].predict(State{rule:2,left:10,right:vec![10,11],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;2],computed_value:Token::DummyStart});//Input -> Input,Line
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:190:32
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 parser.sets[index].predict(State{rule:3,left:11,right:vec![9],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;1],computed_value:Token::DummyStart});//Line -> NewLine
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:191:32
[INFO] [stderr]     |
[INFO] [stderr] 191 |                 parser.sets[index].predict(State{rule:4,left:11,right:vec![12,9],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;2],computed_value:Token::DummyStart});//Line -> Expression,NewLine
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:195:32
[INFO] [stderr]     |
[INFO] [stderr] 195 |                 parser.sets[index].predict(State{rule:5,left:12,right:vec![1],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;1],computed_value:Token::DummyStart});//Expression -> Num
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:196:32
[INFO] [stderr]     |
[INFO] [stderr] 196 |                 parser.sets[index].predict(State{rule:6,left:12,right:vec![12,2,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> Expression Plus Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:197:32
[INFO] [stderr]     |
[INFO] [stderr] 197 |                 parser.sets[index].predict(State{rule:7,left:12,right:vec![12,3,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> Expression Minus Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:198:32
[INFO] [stderr]     |
[INFO] [stderr] 198 |                 parser.sets[index].predict(State{rule:8,left:12,right:vec![12,4,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> Expression Star Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:199:32
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 parser.sets[index].predict(State{rule:9,left:12,right:vec![12,5,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> Expression Slash Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:200:32
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 parser.sets[index].predict(State{rule:10,left:12,right:vec![3,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;2],computed_value:Token::DummyStart});//Expression -> Minus Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:201:32
[INFO] [stderr]     |
[INFO] [stderr] 201 |                 parser.sets[index].predict(State{rule:11,left:12,right:vec![12,6,12],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> Expression Caret Expression
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] error[E0063]: missing field `ambiguity_info` in initializer of `gramatica::State<_>`
[INFO] [stderr]    --> examples/calculator_by_hand.rs:202:32
[INFO] [stderr]     |
[INFO] [stderr] 202 |                 parser.sets[index].predict(State{rule:12,left:12,right:vec![7,12,8],position:0,original_set:index,kind:EarleyKind::Predict(state_index),values:vec![Token::DummyStart;3],computed_value:Token::DummyStart});//Expression -> LPar Expression RPar
[INFO] [stderr]     |                                            ^^^^^ missing `ambiguity_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]   --> examples/json.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 41 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,String)>{
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 12 previous errors
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0063`.
[INFO] [stderr] error: could not compile `gramatica`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> examples/json.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | stdin.lock().read_to_string(&mut buf);
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:323:154
[INFO] [stderr]     |
[INFO] [stderr] 323 | for item in items {match item { & ItemKind::FN(ref name,ref lifetimes,ref _gp,ref _params,ref _oret,ref _bs,ref _be) => {if name == "_match" {fn_match = (Some(item.clone()));} else {panic!("received fn {} is terminal {}" , name , id);}}, _ => panic!("We do not know what to do with item {:?} in terminal {}" , item , id), }
[INFO] [stderr]     |                                                                                                                                                          ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:331:136
[INFO] [stderr]     |
[INFO] [stderr] 331 | rules:vec![],});}, & ItemKind::Nonterminal(ref id,ref ty,ref clauses) => {if let None=self.first_nonterminal {self.first_nonterminal = (Some(self.token_info.len()));}
[INFO] [stderr]     |                                                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:334:65
[INFO] [stderr]     |
[INFO] [stderr] 334 | if let & PatKind::Tuple(ref patterns)=patterns {rule_patterns = (patterns.clone());}
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:338:54
[INFO] [stderr]     |
[INFO] [stderr] 338 | if let AttrKind::Flag(ref p_flag)=seq[0] {priority = (Some(p_flag.clone()));} else {panic!("I do not understand this priority {:?}" , attr);}} else if attr_name == "associativity" {if seq.len() != 1 {panic!("there must be exactly one associativity flag ({:?})" , attr);}
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:339:80
[INFO] [stderr]     |
[INFO] [stderr] 339 | if let AttrKind::Flag(ref o_flag)=seq[0] {if o_flag == "left" {associativity = (Some(Associativity::Left));} else if o_flag == "right" {associativity = (Some(Associativity::Right));} else {panic!("Associativity must be left or right, no {:?}" , attr);}} else {panic!("I do not understand this associativity {:?}" , attr);}}}}
[INFO] [stderr]     |                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:339:153
[INFO] [stderr]     |
[INFO] [stderr] 339 | if let AttrKind::Flag(ref o_flag)=seq[0] {if o_flag == "left" {associativity = (Some(Associativity::Left));} else if o_flag == "right" {associativity = (Some(Associativity::Right));} else {panic!("Associativity must be left or right, no {:?}" , attr);}} else {panic!("I do not understand this associativity {:?}" , attr);}}}}
[INFO] [stderr]     |                                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:371:61
[INFO] [stderr]     |
[INFO] [stderr] 371 | if let Some(& (pos,ref sre))=ignore_it.next() {ignore_pos = (Some(pos));
[INFO] [stderr]     |                                                             ^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:372:14
[INFO] [stderr]     |
[INFO] [stderr] 372 | ignore_sre = (Some(sre.clone()));} else {ignore_pos = None;
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:454:7
[INFO] [stderr]     |
[INFO] [stderr] 454 | match { match parser.keyword("static",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:456:7
[INFO] [stderr]     |
[INFO] [stderr] 456 | match { match parser.keyword("mut",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:458:7
[INFO] [stderr]     |
[INFO] [stderr] 458 | match { match parser.keyword("const",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:460:7
[INFO] [stderr]     |
[INFO] [stderr] 460 | match { match parser.keyword("crate",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:462:7
[INFO] [stderr]     |
[INFO] [stderr] 462 | match { match parser.keyword("extern",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:464:7
[INFO] [stderr]     |
[INFO] [stderr] 464 | match { match parser.keyword("as",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:466:7
[INFO] [stderr]     |
[INFO] [stderr] 466 | match { match parser.keyword("struct",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:468:7
[INFO] [stderr]     |
[INFO] [stderr] 468 | match { match parser.keyword("enum",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:470:7
[INFO] [stderr]     |
[INFO] [stderr] 470 | match { match parser.keyword("union",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:472:7
[INFO] [stderr]     |
[INFO] [stderr] 472 | match { match parser.keyword("mod",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:474:7
[INFO] [stderr]     |
[INFO] [stderr] 474 | match { match parser.keyword("unsafe",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:476:7
[INFO] [stderr]     |
[INFO] [stderr] 476 | match { match parser.keyword("fn",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:478:7
[INFO] [stderr]     |
[INFO] [stderr] 478 | match { match parser.keyword("pub",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:480:7
[INFO] [stderr]     |
[INFO] [stderr] 480 | match { match parser.keyword("self",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:482:7
[INFO] [stderr]     |
[INFO] [stderr] 482 | match { match parser.keyword("type",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:484:7
[INFO] [stderr]     |
[INFO] [stderr] 484 | match { match parser.keyword("for",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:486:7
[INFO] [stderr]     |
[INFO] [stderr] 486 | match { match parser.keyword("trait",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:488:7
[INFO] [stderr]     |
[INFO] [stderr] 488 | match { match parser.keyword("default",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:490:7
[INFO] [stderr]     |
[INFO] [stderr] 490 | match { match parser.keyword("impl",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:492:7
[INFO] [stderr]     |
[INFO] [stderr] 492 | match { match parser.keyword("where",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:494:7
[INFO] [stderr]     |
[INFO] [stderr] 494 | match { match parser.keyword("super",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:496:7
[INFO] [stderr]     |
[INFO] [stderr] 496 | match { match parser.keyword("box",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:498:7
[INFO] [stderr]     |
[INFO] [stderr] 498 | match { match parser.keyword("ref",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:500:7
[INFO] [stderr]     |
[INFO] [stderr] 500 | match { match parser.keyword("typeof",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:502:7
[INFO] [stderr]     |
[INFO] [stderr] 502 | match { match parser.keyword("'static",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:504:7
[INFO] [stderr]     |
[INFO] [stderr] 504 | match { match parser.keyword("continue",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:506:7
[INFO] [stderr]     |
[INFO] [stderr] 506 | match { match parser.keyword("return",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:508:7
[INFO] [stderr]     |
[INFO] [stderr] 508 | match { match parser.keyword("break",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:510:7
[INFO] [stderr]     |
[INFO] [stderr] 510 | match { match parser.keyword("yield",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:512:7
[INFO] [stderr]     |
[INFO] [stderr] 512 | match { match parser.keyword("move",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:514:7
[INFO] [stderr]     |
[INFO] [stderr] 514 | match { match parser.keyword("match",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:516:7
[INFO] [stderr]     |
[INFO] [stderr] 516 | match { match parser.keyword("if",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:518:7
[INFO] [stderr]     |
[INFO] [stderr] 518 | match { match parser.keyword("else",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:520:7
[INFO] [stderr]     |
[INFO] [stderr] 520 | match { match parser.keyword("let",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:522:7
[INFO] [stderr]     |
[INFO] [stderr] 522 | match { match parser.keyword("while",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:524:7
[INFO] [stderr]     |
[INFO] [stderr] 524 | match { match parser.keyword("loop",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:526:7
[INFO] [stderr]     |
[INFO] [stderr] 526 | match { match parser.keyword("in",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:528:7
[INFO] [stderr]     |
[INFO] [stderr] 528 | match { match parser.keyword("true",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:530:7
[INFO] [stderr]     |
[INFO] [stderr] 530 | match { match parser.keyword("false",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:532:7
[INFO] [stderr]     |
[INFO] [stderr] 532 | match { match parser.keyword("catch",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:534:7
[INFO] [stderr]     |
[INFO] [stderr] 534 | match { match parser.keyword("use",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:536:7
[INFO] [stderr]     |
[INFO] [stderr] 536 | match { match parser.keyword("terminal",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:538:7
[INFO] [stderr]     |
[INFO] [stderr] 538 | match { match parser.keyword("nonterminal",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:544:7
[INFO] [stderr]     |
[INFO] [stderr] 544 | match { match parser.re("[0-9]+",source) { None => None, Some((size,string)) => Some((size,string.parse::<usize>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:554:19
[INFO] [stderr]     |
[INFO] [stderr] 554 | if c == '\\' {c = (characters.next().unwrap());
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:560:7
[INFO] [stderr]     |
[INFO] [stderr] 560 | match { match parser.re("'[a-zA-Z_]",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/compiler.rs:571:1
[INFO] [stderr]     |
[INFO] [stderr] 571 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]     | ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:571:74
[INFO] [stderr]     |
[INFO] [stderr] 571 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:597:7
[INFO] [stderr]     |
[INFO] [stderr] 597 | match { match parser.re("//![^\n]*\n",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:599:7
[INFO] [stderr]     |
[INFO] [stderr] 599 | match { match parser.re("///[^\n]*\n",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:601:7
[INFO] [stderr]     |
[INFO] [stderr] 601 | match { match parser.re("[a-zA-Z\\x80-\\xff_][a-zA-Z0-9\\x80-\\xff_]*",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:603:7
[INFO] [stderr]     |
[INFO] [stderr] 603 | match { match parser.re("#!",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:605:7
[INFO] [stderr]     |
[INFO] [stderr] 605 | match { match parser.re("#",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:607:7
[INFO] [stderr]     |
[INFO] [stderr] 607 | match { match parser.re("=>",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:609:7
[INFO] [stderr]     |
[INFO] [stderr] 609 | match { match parser.re("==",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:611:7
[INFO] [stderr]     |
[INFO] [stderr] 611 | match { match parser.re("!=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:613:7
[INFO] [stderr]     |
[INFO] [stderr] 613 | match { match parser.re("=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:615:7
[INFO] [stderr]     |
[INFO] [stderr] 615 | match { match parser.re("<-",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:617:7
[INFO] [stderr]     |
[INFO] [stderr] 617 | match { match parser.re("->",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:619:7
[INFO] [stderr]     |
[INFO] [stderr] 619 | match { match parser.re("<=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:621:7
[INFO] [stderr]     |
[INFO] [stderr] 621 | match { match parser.re(">=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:623:7
[INFO] [stderr]     |
[INFO] [stderr] 623 | match { match parser.re("-=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:625:7
[INFO] [stderr]     |
[INFO] [stderr] 625 | match { match parser.re("&=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:627:7
[INFO] [stderr]     |
[INFO] [stderr] 627 | match { match parser.re("\\|=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:629:7
[INFO] [stderr]     |
[INFO] [stderr] 629 | match { match parser.re("\\+=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:631:7
[INFO] [stderr]     |
[INFO] [stderr] 631 | match { match parser.re("\\*=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:633:7
[INFO] [stderr]     |
[INFO] [stderr] 633 | match { match parser.re("/=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:635:7
[INFO] [stderr]     |
[INFO] [stderr] 635 | match { match parser.re("\\^=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:637:7
[INFO] [stderr]     |
[INFO] [stderr] 637 | match { match parser.re("%=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:648:7
[INFO] [stderr]     |
[INFO] [stderr] 648 | match { match parser.re("_",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:650:7
[INFO] [stderr]     |
[INFO] [stderr] 650 | match { match parser.re("\\|\\|",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:652:7
[INFO] [stderr]     |
[INFO] [stderr] 652 | match { match parser.re("\\|",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:654:7
[INFO] [stderr]     |
[INFO] [stderr] 654 | match { match parser.re(",",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:656:7
[INFO] [stderr]     |
[INFO] [stderr] 656 | match { match parser.re("&&",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:658:7
[INFO] [stderr]     |
[INFO] [stderr] 658 | match { match parser.re("&",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:660:7
[INFO] [stderr]     |
[INFO] [stderr] 660 | match { match parser.re("\\.\\.\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:662:7
[INFO] [stderr]     |
[INFO] [stderr] 662 | match { match parser.re("\\.\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:664:7
[INFO] [stderr]     |
[INFO] [stderr] 664 | match { match parser.re("\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:666:7
[INFO] [stderr]     |
[INFO] [stderr] 666 | match { match parser.re("::",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:668:7
[INFO] [stderr]     |
[INFO] [stderr] 668 | match { match parser.re(":",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:670:7
[INFO] [stderr]     |
[INFO] [stderr] 670 | match { match parser.re("\\^",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:672:7
[INFO] [stderr]     |
[INFO] [stderr] 672 | match { match parser.re("%",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:674:7
[INFO] [stderr]     |
[INFO] [stderr] 674 | match { match parser.re(";",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:676:7
[INFO] [stderr]     |
[INFO] [stderr] 676 | match { match parser.re("!",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:678:7
[INFO] [stderr]     |
[INFO] [stderr] 678 | match { match parser.re("@",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:680:7
[INFO] [stderr]     |
[INFO] [stderr] 680 | match { match parser.re("\\*",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:682:7
[INFO] [stderr]     |
[INFO] [stderr] 682 | match { match parser.re("\\?",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:684:7
[INFO] [stderr]     |
[INFO] [stderr] 684 | match { match parser.re("\\[",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:686:7
[INFO] [stderr]     |
[INFO] [stderr] 686 | match { match parser.re("\\]",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:688:7
[INFO] [stderr]     |
[INFO] [stderr] 688 | match { match parser.re("\\(",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:690:7
[INFO] [stderr]     |
[INFO] [stderr] 690 | match { match parser.re("\\)",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:692:7
[INFO] [stderr]     |
[INFO] [stderr] 692 | match { match parser.re("\\{",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:694:7
[INFO] [stderr]     |
[INFO] [stderr] 694 | match { match parser.re("\\}",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:696:7
[INFO] [stderr]     |
[INFO] [stderr] 696 | match { match parser.re("<",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:698:7
[INFO] [stderr]     |
[INFO] [stderr] 698 | match { match parser.re("\\+",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:700:7
[INFO] [stderr]     |
[INFO] [stderr] 700 | match { match parser.re("-",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:702:7
[INFO] [stderr]     |
[INFO] [stderr] 702 | match { match parser.re("\\s+|\n|//[^\n]*\n|/\\*([^*]|\\*+[^/])*\\*+/",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:704:7
[INFO] [stderr]     |
[INFO] [stderr] 704 | match { match parser.re("/",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2074:95
[INFO] [stderr]      |
[INFO] [stderr] 2074 | (&Token::OuterAttrs(ref attrs),&Token::OuterAttr(ref attr)) => Token::OuterAttrs({let mut new=(attrs.clone());
[INFO] [stderr]      |                                                                                               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2100:100
[INFO] [stderr]      |
[INFO] [stderr] 2100 | (&Token::MetaSeq(ref seq),&Token::Comma,&Token::MetaItem(ref attr)) => Token::MetaSeq({let mut new=(seq.clone());
[INFO] [stderr]      |                                                                                                    ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2111:99
[INFO] [stderr]      |
[INFO] [stderr] 2111 | (&Token::ModItems(ref items),&Token::ModItem(ref outer,ref item)) => Token::ModItems({let mut new=(items.clone());
[INFO] [stderr]      |                                                                                                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2285:134
[INFO] [stderr]      |
[INFO] [stderr] 2285 | (&Token::StructDeclFields(ref list),&Token::Comma,&Token::StructDeclField(ref string,ref t)) => Token::StructDeclFields({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                                      ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2312:114
[INFO] [stderr]      |
[INFO] [stderr] 2312 | (&Token::EnumDefs(ref list),&Token::Comma,&Token::EnumDef(ref id,ref arguments)) => Token::EnumDefs({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                  ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2408:116
[INFO] [stderr]      |
[INFO] [stderr] 2408 | (&Token::IdentsOrSelf(ref list),&Token::Comma,&Token::IdentOrSelf(ref string)) => Token::IdentsOrSelf({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                    ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2561:213
[INFO] [stderr]      |
[INFO] [stderr] 2561 | (&Token::FN,&Token::Ident(ref name),&Token::GenericParams(ref lives,ref gp),&Token::FnDecl(ref params,ref rt),&Token::MaybeWhereClause,&Token::InnerAttrsAndBlock(ref block_stmts,ref block_expr)) => Token::ItemFn((ItemKind::FN(name.clone(),lives.clone(),gp.clone(),params.clone(),rt.clone(),block_stmts.clone(),block_expr.clone()))),
[INFO] [stderr]      |                                                                                                                                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2564:227
[INFO] [stderr]      |
[INFO] [stderr] 2564 | (&Token::Const,&Token::FN,&Token::Ident(ref name),&Token::GenericParams(ref lives,ref gp),&Token::FnDecl(ref params,ref rt),&Token::MaybeWhereClause,&Token::InnerAttrsAndBlock(ref block_stmts,ref block_expr)) => Token::ItemFn((ItemKind::FN(name.clone(),lives.clone(),gp.clone(),params.clone(),rt.clone(),block_stmts.clone(),block_expr.clone()))),
[INFO] [stderr]      |                                                                                                                                                                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2628:105
[INFO] [stderr]      |
[INFO] [stderr] 2628 | (&Token::Params(ref list),&Token::Comma,&Token::Param(ref pattern,ref t)) => Token::Params({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                         ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2635:72
[INFO] [stderr]      |
[INFO] [stderr] 2635 | &Token::InferrableParam(ref pattern,ref ot) => Token::InferrableParams((vec![(pattern . clone () , ot . clone ())])),
[INFO] [stderr]      |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2638:138
[INFO] [stderr]      |
[INFO] [stderr] 2638 | (&Token::InferrableParams(ref params),&Token::Comma,&Token::InferrableParam(ref pattern,ref ot)) => Token::InferrableParams({let mut new=(params.clone());
[INFO] [stderr]      |                                                                                                                                          ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2770:103
[INFO] [stderr]      |
[INFO] [stderr] 2770 | (&Token::TyParams(ref list),&Token::Comma,&Token::TyParam(ref param)) => Token::TyParams({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                       ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2996:109
[INFO] [stderr]      |
[INFO] [stderr] 2996 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::Pat(ref pattern)) => Token::PatTupElts({let mut new=(elements.clone());
[INFO] [stderr]      |                                                                                                             ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3187:95
[INFO] [stderr]      |
[INFO] [stderr] 3187 | (&Token::TySums(ref qtypes),&Token::Comma,&Token::TySum(ref t)) => Token::TySums({let mut new=(qtypes.clone());
[INFO] [stderr]      |                                                                                               ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3296:118
[INFO] [stderr]      |
[INFO] [stderr] 3296 | (&Token::Lifetimes(ref list),&Token::Comma,&Token::LifetimeAndBounds(ref lifetime)) => Token::Lifetimes({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                      ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3337:80
[INFO] [stderr]      |
[INFO] [stderr] 3337 | (&Token::Stmts(ref stmts),&Token::Stmt(ref stmt)) => Token::Stmts({let mut new=(stmts.clone());
[INFO] [stderr]      |                                                                                ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3385:93
[INFO] [stderr]      |
[INFO] [stderr] 3385 | (&Token::Exprs(ref list),&Token::Comma,&Token::Expr(ref expr)) => Token::Exprs({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                             ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4080:113
[INFO] [stderr]      |
[INFO] [stderr] 4080 | (&Token::FieldInits(ref list),&Token::Comma,&Token::FieldInit(ref id,ref oe)) => Token::FieldInits({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                 ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4159:174
[INFO] [stderr]      |
[INFO] [stderr] 4159 | (&Token::Match,&Token::ExprNostruct(ref expr),&Token::LBrace,&Token::MatchClauses(ref list),&Token::NonblockMatchClause(_,_,_),&Token::RBrace) => { let (x0,x1)={let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                                                                              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4169:100
[INFO] [stderr]      |
[INFO] [stderr] 4169 | (&Token::MatchClauses(ref clauses),&Token::MatchClause(_,_,_)) => Token::MatchClauses({let mut new=(clauses.clone());
[INFO] [stderr]      |                                                                                                    ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4573:96
[INFO] [stderr]      |
[INFO] [stderr] 4573 | (&Token::TokenTrees(ref trees),&Token::TokenTree(ref token)) => Token::TokenTrees({let mut new=(trees.clone());
[INFO] [stderr]      |                                                                                                ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4618:104
[INFO] [stderr]      |
[INFO] [stderr] 4618 | (&Token::TerminalItem(ref item),&Token::TerminalItems(ref items)) => Token::TerminalItems({let mut new=(vec![item . clone ()]);
[INFO] [stderr]      |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:323:154
[INFO] [stderr]     |
[INFO] [stderr] 323 | for item in items {match item { & ItemKind::FN(ref name,ref lifetimes,ref _gp,ref _params,ref _oret,ref _bs,ref _be) => {if name == "_match" {fn_match = (Some(item.clone()));} else {panic!("received fn {} is terminal {}" , name , id);}}, _ => panic!("We do not know what to do with item {:?} in terminal {}" , item , id), }
[INFO] [stderr]     |                                                                                                                                                          ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:331:136
[INFO] [stderr]     |
[INFO] [stderr] 331 | rules:vec![],});}, & ItemKind::Nonterminal(ref id,ref ty,ref clauses) => {if let None=self.first_nonterminal {self.first_nonterminal = (Some(self.token_info.len()));}
[INFO] [stderr]     |                                                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:334:65
[INFO] [stderr]     |
[INFO] [stderr] 334 | if let & PatKind::Tuple(ref patterns)=patterns {rule_patterns = (patterns.clone());}
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:338:54
[INFO] [stderr]     |
[INFO] [stderr] 338 | if let AttrKind::Flag(ref p_flag)=seq[0] {priority = (Some(p_flag.clone()));} else {panic!("I do not understand this priority {:?}" , attr);}} else if attr_name == "associativity" {if seq.len() != 1 {panic!("there must be exactly one associativity flag ({:?})" , attr);}
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:339:80
[INFO] [stderr]     |
[INFO] [stderr] 339 | if let AttrKind::Flag(ref o_flag)=seq[0] {if o_flag == "left" {associativity = (Some(Associativity::Left));} else if o_flag == "right" {associativity = (Some(Associativity::Right));} else {panic!("Associativity must be left or right, no {:?}" , attr);}} else {panic!("I do not understand this associativity {:?}" , attr);}}}}
[INFO] [stderr]     |                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:339:153
[INFO] [stderr]     |
[INFO] [stderr] 339 | if let AttrKind::Flag(ref o_flag)=seq[0] {if o_flag == "left" {associativity = (Some(Associativity::Left));} else if o_flag == "right" {associativity = (Some(Associativity::Right));} else {panic!("Associativity must be left or right, no {:?}" , attr);}} else {panic!("I do not understand this associativity {:?}" , attr);}}}}
[INFO] [stderr]     |                                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:371:61
[INFO] [stderr]     |
[INFO] [stderr] 371 | if let Some(& (pos,ref sre))=ignore_it.next() {ignore_pos = (Some(pos));
[INFO] [stderr]     |                                                             ^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:372:14
[INFO] [stderr]     |
[INFO] [stderr] 372 | ignore_sre = (Some(sre.clone()));} else {ignore_pos = None;
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:454:7
[INFO] [stderr]     |
[INFO] [stderr] 454 | match { match parser.keyword("static",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:456:7
[INFO] [stderr]     |
[INFO] [stderr] 456 | match { match parser.keyword("mut",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:458:7
[INFO] [stderr]     |
[INFO] [stderr] 458 | match { match parser.keyword("const",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:460:7
[INFO] [stderr]     |
[INFO] [stderr] 460 | match { match parser.keyword("crate",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:462:7
[INFO] [stderr]     |
[INFO] [stderr] 462 | match { match parser.keyword("extern",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:464:7
[INFO] [stderr]     |
[INFO] [stderr] 464 | match { match parser.keyword("as",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:466:7
[INFO] [stderr]     |
[INFO] [stderr] 466 | match { match parser.keyword("struct",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:468:7
[INFO] [stderr]     |
[INFO] [stderr] 468 | match { match parser.keyword("enum",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:470:7
[INFO] [stderr]     |
[INFO] [stderr] 470 | match { match parser.keyword("union",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:472:7
[INFO] [stderr]     |
[INFO] [stderr] 472 | match { match parser.keyword("mod",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:474:7
[INFO] [stderr]     |
[INFO] [stderr] 474 | match { match parser.keyword("unsafe",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:476:7
[INFO] [stderr]     |
[INFO] [stderr] 476 | match { match parser.keyword("fn",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:478:7
[INFO] [stderr]     |
[INFO] [stderr] 478 | match { match parser.keyword("pub",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:480:7
[INFO] [stderr]     |
[INFO] [stderr] 480 | match { match parser.keyword("self",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:482:7
[INFO] [stderr]     |
[INFO] [stderr] 482 | match { match parser.keyword("type",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:484:7
[INFO] [stderr]     |
[INFO] [stderr] 484 | match { match parser.keyword("for",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:486:7
[INFO] [stderr]     |
[INFO] [stderr] 486 | match { match parser.keyword("trait",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:488:7
[INFO] [stderr]     |
[INFO] [stderr] 488 | match { match parser.keyword("default",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:490:7
[INFO] [stderr]     |
[INFO] [stderr] 490 | match { match parser.keyword("impl",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:492:7
[INFO] [stderr]     |
[INFO] [stderr] 492 | match { match parser.keyword("where",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:494:7
[INFO] [stderr]     |
[INFO] [stderr] 494 | match { match parser.keyword("super",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:496:7
[INFO] [stderr]     |
[INFO] [stderr] 496 | match { match parser.keyword("box",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:498:7
[INFO] [stderr]     |
[INFO] [stderr] 498 | match { match parser.keyword("ref",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:500:7
[INFO] [stderr]     |
[INFO] [stderr] 500 | match { match parser.keyword("typeof",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:502:7
[INFO] [stderr]     |
[INFO] [stderr] 502 | match { match parser.keyword("'static",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:504:7
[INFO] [stderr]     |
[INFO] [stderr] 504 | match { match parser.keyword("continue",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:506:7
[INFO] [stderr]     |
[INFO] [stderr] 506 | match { match parser.keyword("return",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:508:7
[INFO] [stderr]     |
[INFO] [stderr] 508 | match { match parser.keyword("break",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:510:7
[INFO] [stderr]     |
[INFO] [stderr] 510 | match { match parser.keyword("yield",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:512:7
[INFO] [stderr]     |
[INFO] [stderr] 512 | match { match parser.keyword("move",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:514:7
[INFO] [stderr]     |
[INFO] [stderr] 514 | match { match parser.keyword("match",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:516:7
[INFO] [stderr]     |
[INFO] [stderr] 516 | match { match parser.keyword("if",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:518:7
[INFO] [stderr]     |
[INFO] [stderr] 518 | match { match parser.keyword("else",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:520:7
[INFO] [stderr]     |
[INFO] [stderr] 520 | match { match parser.keyword("let",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:522:7
[INFO] [stderr]     |
[INFO] [stderr] 522 | match { match parser.keyword("while",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:524:7
[INFO] [stderr]     |
[INFO] [stderr] 524 | match { match parser.keyword("loop",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:526:7
[INFO] [stderr]     |
[INFO] [stderr] 526 | match { match parser.keyword("in",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:528:7
[INFO] [stderr]     |
[INFO] [stderr] 528 | match { match parser.keyword("true",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:530:7
[INFO] [stderr]     |
[INFO] [stderr] 530 | match { match parser.keyword("false",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:532:7
[INFO] [stderr]     |
[INFO] [stderr] 532 | match { match parser.keyword("catch",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:534:7
[INFO] [stderr]     |
[INFO] [stderr] 534 | match { match parser.keyword("use",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:536:7
[INFO] [stderr]     |
[INFO] [stderr] 536 | match { match parser.keyword("terminal",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:538:7
[INFO] [stderr]     |
[INFO] [stderr] 538 | match { match parser.keyword("nonterminal",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:544:7
[INFO] [stderr]     |
[INFO] [stderr] 544 | match { match parser.re("[0-9]+",source) { None => None, Some((size,string)) => Some((size,string.parse::<usize>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:554:19
[INFO] [stderr]     |
[INFO] [stderr] 554 | if c == '\\' {c = (characters.next().unwrap());
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:560:7
[INFO] [stderr]     |
[INFO] [stderr] 560 | match { match parser.re("'[a-zA-Z_]",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/compiler.rs:571:1
[INFO] [stderr]     |
[INFO] [stderr] 571 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]     | ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/compiler.rs:571:74
[INFO] [stderr]     |
[INFO] [stderr] 571 | while true {match characters.next() { None => break, Some('"') => {ret = (Some((size + 1,r + &"\"")));
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:597:7
[INFO] [stderr]     |
[INFO] [stderr] 597 | match { match parser.re("//![^\n]*\n",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:599:7
[INFO] [stderr]     |
[INFO] [stderr] 599 | match { match parser.re("///[^\n]*\n",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:601:7
[INFO] [stderr]     |
[INFO] [stderr] 601 | match { match parser.re("[a-zA-Z\\x80-\\xff_][a-zA-Z0-9\\x80-\\xff_]*",source) { None => None, Some((size,string)) => Some((size,string.parse::<String>().unwrap() )) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:603:7
[INFO] [stderr]     |
[INFO] [stderr] 603 | match { match parser.re("#!",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:605:7
[INFO] [stderr]     |
[INFO] [stderr] 605 | match { match parser.re("#",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:607:7
[INFO] [stderr]     |
[INFO] [stderr] 607 | match { match parser.re("=>",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:609:7
[INFO] [stderr]     |
[INFO] [stderr] 609 | match { match parser.re("==",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:611:7
[INFO] [stderr]     |
[INFO] [stderr] 611 | match { match parser.re("!=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:613:7
[INFO] [stderr]     |
[INFO] [stderr] 613 | match { match parser.re("=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:615:7
[INFO] [stderr]     |
[INFO] [stderr] 615 | match { match parser.re("<-",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:617:7
[INFO] [stderr]     |
[INFO] [stderr] 617 | match { match parser.re("->",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:619:7
[INFO] [stderr]     |
[INFO] [stderr] 619 | match { match parser.re("<=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:621:7
[INFO] [stderr]     |
[INFO] [stderr] 621 | match { match parser.re(">=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:623:7
[INFO] [stderr]     |
[INFO] [stderr] 623 | match { match parser.re("-=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:625:7
[INFO] [stderr]     |
[INFO] [stderr] 625 | match { match parser.re("&=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:627:7
[INFO] [stderr]     |
[INFO] [stderr] 627 | match { match parser.re("\\|=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:629:7
[INFO] [stderr]     |
[INFO] [stderr] 629 | match { match parser.re("\\+=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:631:7
[INFO] [stderr]     |
[INFO] [stderr] 631 | match { match parser.re("\\*=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:633:7
[INFO] [stderr]     |
[INFO] [stderr] 633 | match { match parser.re("/=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:635:7
[INFO] [stderr]     |
[INFO] [stderr] 635 | match { match parser.re("\\^=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:637:7
[INFO] [stderr]     |
[INFO] [stderr] 637 | match { match parser.re("%=",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:648:7
[INFO] [stderr]     |
[INFO] [stderr] 648 | match { match parser.re("_",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:650:7
[INFO] [stderr]     |
[INFO] [stderr] 650 | match { match parser.re("\\|\\|",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:652:7
[INFO] [stderr]     |
[INFO] [stderr] 652 | match { match parser.re("\\|",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:654:7
[INFO] [stderr]     |
[INFO] [stderr] 654 | match { match parser.re(",",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:656:7
[INFO] [stderr]     |
[INFO] [stderr] 656 | match { match parser.re("&&",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:658:7
[INFO] [stderr]     |
[INFO] [stderr] 658 | match { match parser.re("&",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:660:7
[INFO] [stderr]     |
[INFO] [stderr] 660 | match { match parser.re("\\.\\.\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:662:7
[INFO] [stderr]     |
[INFO] [stderr] 662 | match { match parser.re("\\.\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:664:7
[INFO] [stderr]     |
[INFO] [stderr] 664 | match { match parser.re("\\.",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:666:7
[INFO] [stderr]     |
[INFO] [stderr] 666 | match { match parser.re("::",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:668:7
[INFO] [stderr]     |
[INFO] [stderr] 668 | match { match parser.re(":",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:670:7
[INFO] [stderr]     |
[INFO] [stderr] 670 | match { match parser.re("\\^",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:672:7
[INFO] [stderr]     |
[INFO] [stderr] 672 | match { match parser.re("%",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:674:7
[INFO] [stderr]     |
[INFO] [stderr] 674 | match { match parser.re(";",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:676:7
[INFO] [stderr]     |
[INFO] [stderr] 676 | match { match parser.re("!",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:678:7
[INFO] [stderr]     |
[INFO] [stderr] 678 | match { match parser.re("@",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:680:7
[INFO] [stderr]     |
[INFO] [stderr] 680 | match { match parser.re("\\*",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:682:7
[INFO] [stderr]     |
[INFO] [stderr] 682 | match { match parser.re("\\?",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:684:7
[INFO] [stderr]     |
[INFO] [stderr] 684 | match { match parser.re("\\[",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:686:7
[INFO] [stderr]     |
[INFO] [stderr] 686 | match { match parser.re("\\]",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:688:7
[INFO] [stderr]     |
[INFO] [stderr] 688 | match { match parser.re("\\(",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:690:7
[INFO] [stderr]     |
[INFO] [stderr] 690 | match { match parser.re("\\)",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:692:7
[INFO] [stderr]     |
[INFO] [stderr] 692 | match { match parser.re("\\{",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:694:7
[INFO] [stderr]     |
[INFO] [stderr] 694 | match { match parser.re("\\}",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:696:7
[INFO] [stderr]     |
[INFO] [stderr] 696 | match { match parser.re("<",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:698:7
[INFO] [stderr]     |
[INFO] [stderr] 698 | match { match parser.re("\\+",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:700:7
[INFO] [stderr]     |
[INFO] [stderr] 700 | match { match parser.re("-",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:702:7
[INFO] [stderr]     |
[INFO] [stderr] 702 | match { match parser.re("\\s+|\n|//[^\n]*\n|/\\*([^*]|\\*+[^/])*\\*+/",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around `match` scrutinee expression
[INFO] [stderr]    --> src/compiler.rs:704:7
[INFO] [stderr]     |
[INFO] [stderr] 704 | match { match parser.re("/",source) { None => None, Some((size,_string)) => Some((size,())) } }
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2074:95
[INFO] [stderr]      |
[INFO] [stderr] 2074 | (&Token::OuterAttrs(ref attrs),&Token::OuterAttr(ref attr)) => Token::OuterAttrs({let mut new=(attrs.clone());
[INFO] [stderr]      |                                                                                               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2100:100
[INFO] [stderr]      |
[INFO] [stderr] 2100 | (&Token::MetaSeq(ref seq),&Token::Comma,&Token::MetaItem(ref attr)) => Token::MetaSeq({let mut new=(seq.clone());
[INFO] [stderr]      |                                                                                                    ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2111:99
[INFO] [stderr]      |
[INFO] [stderr] 2111 | (&Token::ModItems(ref items),&Token::ModItem(ref outer,ref item)) => Token::ModItems({let mut new=(items.clone());
[INFO] [stderr]      |                                                                                                   ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2285:134
[INFO] [stderr]      |
[INFO] [stderr] 2285 | (&Token::StructDeclFields(ref list),&Token::Comma,&Token::StructDeclField(ref string,ref t)) => Token::StructDeclFields({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                                      ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2312:114
[INFO] [stderr]      |
[INFO] [stderr] 2312 | (&Token::EnumDefs(ref list),&Token::Comma,&Token::EnumDef(ref id,ref arguments)) => Token::EnumDefs({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                  ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2408:116
[INFO] [stderr]      |
[INFO] [stderr] 2408 | (&Token::IdentsOrSelf(ref list),&Token::Comma,&Token::IdentOrSelf(ref string)) => Token::IdentsOrSelf({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                    ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2561:213
[INFO] [stderr]      |
[INFO] [stderr] 2561 | (&Token::FN,&Token::Ident(ref name),&Token::GenericParams(ref lives,ref gp),&Token::FnDecl(ref params,ref rt),&Token::MaybeWhereClause,&Token::InnerAttrsAndBlock(ref block_stmts,ref block_expr)) => Token::ItemFn((ItemKind::FN(name.clone(),lives.clone(),gp.clone(),params.clone(),rt.clone(),block_stmts.clone(),block_expr.clone()))),
[INFO] [stderr]      |                                                                                                                                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2564:227
[INFO] [stderr]      |
[INFO] [stderr] 2564 | (&Token::Const,&Token::FN,&Token::Ident(ref name),&Token::GenericParams(ref lives,ref gp),&Token::FnDecl(ref params,ref rt),&Token::MaybeWhereClause,&Token::InnerAttrsAndBlock(ref block_stmts,ref block_expr)) => Token::ItemFn((ItemKind::FN(name.clone(),lives.clone(),gp.clone(),params.clone(),rt.clone(),block_stmts.clone(),block_expr.clone()))),
[INFO] [stderr]      |                                                                                                                                                                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2628:105
[INFO] [stderr]      |
[INFO] [stderr] 2628 | (&Token::Params(ref list),&Token::Comma,&Token::Param(ref pattern,ref t)) => Token::Params({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                         ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]     --> src/compiler.rs:2635:72
[INFO] [stderr]      |
[INFO] [stderr] 2635 | &Token::InferrableParam(ref pattern,ref ot) => Token::InferrableParams((vec![(pattern . clone () , ot . clone ())])),
[INFO] [stderr]      |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2638:138
[INFO] [stderr]      |
[INFO] [stderr] 2638 | (&Token::InferrableParams(ref params),&Token::Comma,&Token::InferrableParam(ref pattern,ref ot)) => Token::InferrableParams({let mut new=(params.clone());
[INFO] [stderr]      |                                                                                                                                          ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2770:103
[INFO] [stderr]      |
[INFO] [stderr] 2770 | (&Token::TyParams(ref list),&Token::Comma,&Token::TyParam(ref param)) => Token::TyParams({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                       ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:2996:109
[INFO] [stderr]      |
[INFO] [stderr] 2996 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::Pat(ref pattern)) => Token::PatTupElts({let mut new=(elements.clone());
[INFO] [stderr]      |                                                                                                             ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3187:95
[INFO] [stderr]      |
[INFO] [stderr] 3187 | (&Token::TySums(ref qtypes),&Token::Comma,&Token::TySum(ref t)) => Token::TySums({let mut new=(qtypes.clone());
[INFO] [stderr]      |                                                                                               ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3296:118
[INFO] [stderr]      |
[INFO] [stderr] 3296 | (&Token::Lifetimes(ref list),&Token::Comma,&Token::LifetimeAndBounds(ref lifetime)) => Token::Lifetimes({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                      ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3337:80
[INFO] [stderr]      |
[INFO] [stderr] 3337 | (&Token::Stmts(ref stmts),&Token::Stmt(ref stmt)) => Token::Stmts({let mut new=(stmts.clone());
[INFO] [stderr]      |                                                                                ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:3385:93
[INFO] [stderr]      |
[INFO] [stderr] 3385 | (&Token::Exprs(ref list),&Token::Comma,&Token::Expr(ref expr)) => Token::Exprs({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                             ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4080:113
[INFO] [stderr]      |
[INFO] [stderr] 4080 | (&Token::FieldInits(ref list),&Token::Comma,&Token::FieldInit(ref id,ref oe)) => Token::FieldInits({let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                 ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4159:174
[INFO] [stderr]      |
[INFO] [stderr] 4159 | (&Token::Match,&Token::ExprNostruct(ref expr),&Token::LBrace,&Token::MatchClauses(ref list),&Token::NonblockMatchClause(_,_,_),&Token::RBrace) => { let (x0,x1)={let mut new=(list.clone());
[INFO] [stderr]      |                                                                                                                                                                              ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4169:100
[INFO] [stderr]      |
[INFO] [stderr] 4169 | (&Token::MatchClauses(ref clauses),&Token::MatchClause(_,_,_)) => Token::MatchClauses({let mut new=(clauses.clone());
[INFO] [stderr]      |                                                                                                    ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4573:96
[INFO] [stderr]      |
[INFO] [stderr] 4573 | (&Token::TokenTrees(ref trees),&Token::TokenTree(ref token)) => Token::TokenTrees({let mut new=(trees.clone());
[INFO] [stderr]      |                                                                                                ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]     --> src/compiler.rs:4618:104
[INFO] [stderr]      |
[INFO] [stderr] 4618 | (&Token::TerminalItem(ref item),&Token::TerminalItems(ref items)) => Token::TerminalItems({let mut new=(vec![item . clone ()]);
[INFO] [stderr]      |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:540:13
[INFO] [stderr]     |
[INFO] [stderr] 540 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:540:53
[INFO] [stderr]     |
[INFO] [stderr] 540 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:546:13
[INFO] [stderr]     |
[INFO] [stderr] 546 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:546:53
[INFO] [stderr]     |
[INFO] [stderr] 546 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:550:13
[INFO] [stderr]     |
[INFO] [stderr] 550 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,char)>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:562:13
[INFO] [stderr]     |
[INFO] [stderr] 562 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:562:53
[INFO] [stderr]     |
[INFO] [stderr] 562 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:566:13
[INFO] [stderr]     |
[INFO] [stderr] 566 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,String)>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:581:13
[INFO] [stderr]     |
[INFO] [stderr] 581 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:581:53
[INFO] [stderr]     |
[INFO] [stderr] 581 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:585:13
[INFO] [stderr]     |
[INFO] [stderr] 585 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:585:53
[INFO] [stderr]     |
[INFO] [stderr] 585 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:589:13
[INFO] [stderr]     |
[INFO] [stderr] 589 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:589:53
[INFO] [stderr]     |
[INFO] [stderr] 589 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:593:13
[INFO] [stderr]     |
[INFO] [stderr] 593 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:593:53
[INFO] [stderr]     |
[INFO] [stderr] 593 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:107
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:175
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                                                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:242
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                                                                                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `subname`
[INFO] [stderr]    --> src/compiler.rs:218:93
[INFO] [stderr]     |
[INFO] [stderr] 218 | match self { & ItemKind::Fixme => write!(f , "fixme {{ }}"), & ItemKind::Macro(ref name,ref subname,ref token) => write!(f , "{}!{};" , name , token), & ItemKind::FN(ref name,ref lifetimes,ref gp,ref params,ref oret,ref block_stmts,ref block_expr) => {write!(f , "fn {}" , name).unwrap();
[INFO] [stderr]     |                                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attributes`
[INFO] [stderr]    --> src/compiler.rs:261:3635
[INFO] [stderr]     |
[INFO] [stderr] 261 | match self { & Token::TySum(ref kind) => write!(f , "{}" , kind), & Token::Pat(ref kind) => write!(f , "{}" , kind), & Token::LitOrPath(ref string) => write!(f , "{}" , string), & Token::NonblockExpr(ref expr) => write!(f , "{}" , expr), & Token::PathExpr(ref string) => write!(f , "{}" , string), & Token::Block(ref stmts,None) => write!(f , "{{{}}}" , stmts . iter () . map (| s | s . to_string ()) . collect :: < Vec < String >  > () . join ("\n")), & Token::Block(ref stmts,Some(ref expr)) => write!(f , "{{{} {}}}" , stmts . iter () . map (| s | s . to_string ()) . collect :: < Vec < String >  > () . join ("\n") , expr), & Token::Equal => write!(f , "="), & Token::Lit(ref token) => write!(f , "{}" , token), & Token::LitInteger(x) => write!(f , "{}" , x), & Token::LitStr(ref string) => write!(f , "{}" , string), & Token::LitChar(c) => match c { '\'' => write!(f , "'\\\''"), '\\' => write!(f , "'\\\\'"), _ => write!(f , "'{}'" , c), }, & Token::Str(ref string) => write!(f , "{}" , string), & Token::BlockExpr(ref token) => write!(f , "{}" , token), & Token::ExprMatch(ref expr,ref clauses) => write!(f , "match {} {{ {} }}" , expr , clauses . iter () . map (| c | c . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::ExprIf(ref expr,ref block,None) => write!(f , "if {} {}" , expr , block), & Token::ExprIf(ref expr,ref block,Some(ref q_else_block)) => write!(f , "if {} {} else {}" , expr , block , q_else_block), & Token::ExprIfLet(ref pattern,ref expr,ref block,None) => write!(f , "if let {}={} {}" , pattern , expr , block), & Token::ExprIfLet(ref pattern,ref expr,ref block,Some(ref q_else_block)) => write!(f , "if let {}={} {} else {}" , pattern , expr , block , q_else_block), & Token::ExprFor(ref pattern,ref expr,ref block) => write!(f , "for {} in {} {}" , pattern , expr , block), & Token::ExprWhile(ref expr,ref block) => write!(f , "while {} {}" , expr , block), & Token::True => write!(f , "true"), & Token::False => write!(f , "false"), & Token::Ref => write!(f , "ref"), & Token::For => write!(f , "for"), & Token::Match => write!(f , "match"), & Token::If => write!(f , "if"), & Token::Else => write!(f , "else"), & Token::MacroExpr(ref token,None,ref trees) => write!(f , "{}!{}" , token , trees), & Token::DelimitedTokenTrees(ref trees) => write!(f , "{}" , trees), & Token::BracketsDelimitedTokenTrees(ref trees) => write!(f , "[{}]" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::ParensDelimitedTokenTrees(ref trees) => write!(f , "({})" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::BracesDelimitedTokenTrees(ref trees) => write!(f , "{{{}}}" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::LiteralIdent(ref string) => write!(f , "{}" , string), & Token::Dot => write!(f , "."), & Token::Comma => write!(f , ","), & Token::ModSep => write!(f , "::"), & Token::Vertical => write!(f , "|"), & Token::Ampersand => write!(f , "&"), & Token::Plus => write!(f , "+"), & Token::Minus => write!(f , "-"), & Token::Star => write!(f , "*"), & Token::Slash => write!(f , "/"), & Token::Bang => write!(f , "!"), & Token::LT => write!(f , "<"), & Token::GT => write!(f , ">"), & Token::NE => write!(f , "!="), & Token::EqualEqual => write!(f , "=="), & Token::AndAnd => write!(f , "&&"), & Token::OrOr => write!(f , "||"), & Token::PlusEqual => write!(f , "+="), & Token::FatArrow => write!(f , "=>"), & Token::DotDot => write!(f , ".."), & Token::NoSpace => write!(f , ""), & Token::MatchClause(ref attributes,ref pattern,ref token) => write!(f , "{} => {}," , pattern , token), & Token::PatTup(ref patterns) => write!(f , "{}" , patterns . iter () . map (| p | p . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::LittleSelf => write!(f , "self"), _ => panic!("panic displaying {:?}" , self), }
[INFO] [stderr]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/compiler.rs:296:245
[INFO] [stderr]     |
[INFO] [stderr] 296 | match token { & Token::WholeCrate(ref items) => {for item in items {self.process_token(item);}}, & Token::ModItem(ref attributes,ref item) => {match item { & ItemKind::Fixme => println!("fixme item={:?}" , item), & ItemKind::Macro(ref path,ref id,ref tree) => {match (path.as_ref(),tree.as_ref()) { (& Token::PathExpr(PathKind::Ident(ref s)),& Token::ParensDelimitedTokenTrees(ref data)) => {if s == "keyword_terminal" {let mut comma_index=0;
[INFO] [stderr]     |                                                                                                                                                                                                                                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lifetimes`
[INFO] [stderr]    --> src/compiler.rs:323:61
[INFO] [stderr]     |
[INFO] [stderr] 323 | for item in items {match item { & ItemKind::FN(ref name,ref lifetimes,ref _gp,ref _params,ref _oret,ref _bs,ref _be) => {if name == "_match" {fn_match = (Some(item.clone()));} else {panic!("received fn {} is terminal {}" , name , id);}}, _ => panic!("We do not know what to do with item {:?} in terminal {}" , item , id), }
[INFO] [stderr]     |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lifetimes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2966:25
[INFO] [stderr]      |
[INFO] [stderr] 2966 | (&Token::PatTupElts(ref elements),&Token::DotDot) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2969:25
[INFO] [stderr]      |
[INFO] [stderr] 2969 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2972:25
[INFO] [stderr]      |
[INFO] [stderr] 2972 | (&Token::PatTupElts(ref elements),&Token::DotDot,&Token::Comma,&Token::PatTupElts(_)) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2975:25
[INFO] [stderr]      |
[INFO] [stderr] 2975 | (&Token::PatTupElts(ref elements),&Token::DotDot,&Token::Comma,&Token::PatTupElts(_),&Token::Comma) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2978:25
[INFO] [stderr]      |
[INFO] [stderr] 2978 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot,&Token::Comma,&Token::PatTupElts(_)) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2981:25
[INFO] [stderr]      |
[INFO] [stderr] 2981 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot,&Token::Comma,&Token::PatTupElts(_),&Token::Comma) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3485:27
[INFO] [stderr]      |
[INFO] [stderr] 3485 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3485:102
[INFO] [stderr]      |
[INFO] [stderr] 3485 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3488:27
[INFO] [stderr]      |
[INFO] [stderr] 3488 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3488:102
[INFO] [stderr]      |
[INFO] [stderr] 3488 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3548:27
[INFO] [stderr]      |
[INFO] [stderr] 3548 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3548:88
[INFO] [stderr]      |
[INFO] [stderr] 3548 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3551:27
[INFO] [stderr]      |
[INFO] [stderr] 3551 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3551:88
[INFO] [stderr]      |
[INFO] [stderr] 3551 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3662:19
[INFO] [stderr]      |
[INFO] [stderr] 3662 | (&Token::Expr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3662:94
[INFO] [stderr]      |
[INFO] [stderr] 3662 | (&Token::Expr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3665:19
[INFO] [stderr]      |
[INFO] [stderr] 3665 | (&Token::Expr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3665:94
[INFO] [stderr]      |
[INFO] [stderr] 3665 | (&Token::Expr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]     --> src/compiler.rs:3992:54
[INFO] [stderr]      |
[INFO] [stderr] 3992 | (&Token::AndAnd,&Token::MaybeMut(_),&Token::Expr(ref expr)) => Token::NonblockPrefixExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:540:13
[INFO] [stderr]     |
[INFO] [stderr] 540 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:540:53
[INFO] [stderr]     |
[INFO] [stderr] 540 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:546:13
[INFO] [stderr]     |
[INFO] [stderr] 546 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:546:53
[INFO] [stderr]     |
[INFO] [stderr] 546 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:550:13
[INFO] [stderr]     |
[INFO] [stderr] 550 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,char)>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:562:13
[INFO] [stderr]     |
[INFO] [stderr] 562 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:562:53
[INFO] [stderr]     |
[INFO] [stderr] 562 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:566:13
[INFO] [stderr]     |
[INFO] [stderr] 566 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,String)>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:581:13
[INFO] [stderr]     |
[INFO] [stderr] 581 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:581:53
[INFO] [stderr]     |
[INFO] [stderr] 581 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:585:13
[INFO] [stderr]     |
[INFO] [stderr] 585 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:585:53
[INFO] [stderr]     |
[INFO] [stderr] 585 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:589:13
[INFO] [stderr]     |
[INFO] [stderr] 589 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:589:53
[INFO] [stderr]     |
[INFO] [stderr] 589 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/compiler.rs:593:13
[INFO] [stderr]     |
[INFO] [stderr] 593 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source`
[INFO] [stderr]    --> src/compiler.rs:593:53
[INFO] [stderr]     |
[INFO] [stderr] 593 | { fn _match(parser:&mut Parser<Token,ParsingTables>,source:& str)->Option<(usize,())>{
[INFO] [stderr]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:107
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:175
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                                                                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]    --> src/compiler.rs:169:242
[INFO] [stderr]     |
[INFO] [stderr] 169 | if let & Some(ref e)=option_expr {write!(f , "={}" , e).unwrap();} write!(f , ";")}, & StmtKind::Item(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Block(ref attrs,ref token) => write!(f , "{}" , token), & StmtKind::Expr(ref attrs,ref token) => write!(f , "{};" , token), & StmtKind::Empty => write!(f , ";"), }
[INFO] [stderr]     |                                                                                                                                                                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `subname`
[INFO] [stderr]    --> src/compiler.rs:218:93
[INFO] [stderr]     |
[INFO] [stderr] 218 | match self { & ItemKind::Fixme => write!(f , "fixme {{ }}"), & ItemKind::Macro(ref name,ref subname,ref token) => write!(f , "{}!{};" , name , token), & ItemKind::FN(ref name,ref lifetimes,ref gp,ref params,ref oret,ref block_stmts,ref block_expr) => {write!(f , "fn {}" , name).unwrap();
[INFO] [stderr]     |                                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attributes`
[INFO] [stderr]    --> src/compiler.rs:261:3635
[INFO] [stderr]     |
[INFO] [stderr] 261 | match self { & Token::TySum(ref kind) => write!(f , "{}" , kind), & Token::Pat(ref kind) => write!(f , "{}" , kind), & Token::LitOrPath(ref string) => write!(f , "{}" , string), & Token::NonblockExpr(ref expr) => write!(f , "{}" , expr), & Token::PathExpr(ref string) => write!(f , "{}" , string), & Token::Block(ref stmts,None) => write!(f , "{{{}}}" , stmts . iter () . map (| s | s . to_string ()) . collect :: < Vec < String >  > () . join ("\n")), & Token::Block(ref stmts,Some(ref expr)) => write!(f , "{{{} {}}}" , stmts . iter () . map (| s | s . to_string ()) . collect :: < Vec < String >  > () . join ("\n") , expr), & Token::Equal => write!(f , "="), & Token::Lit(ref token) => write!(f , "{}" , token), & Token::LitInteger(x) => write!(f , "{}" , x), & Token::LitStr(ref string) => write!(f , "{}" , string), & Token::LitChar(c) => match c { '\'' => write!(f , "'\\\''"), '\\' => write!(f , "'\\\\'"), _ => write!(f , "'{}'" , c), }, & Token::Str(ref string) => write!(f , "{}" , string), & Token::BlockExpr(ref token) => write!(f , "{}" , token), & Token::ExprMatch(ref expr,ref clauses) => write!(f , "match {} {{ {} }}" , expr , clauses . iter () . map (| c | c . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::ExprIf(ref expr,ref block,None) => write!(f , "if {} {}" , expr , block), & Token::ExprIf(ref expr,ref block,Some(ref q_else_block)) => write!(f , "if {} {} else {}" , expr , block , q_else_block), & Token::ExprIfLet(ref pattern,ref expr,ref block,None) => write!(f , "if let {}={} {}" , pattern , expr , block), & Token::ExprIfLet(ref pattern,ref expr,ref block,Some(ref q_else_block)) => write!(f , "if let {}={} {} else {}" , pattern , expr , block , q_else_block), & Token::ExprFor(ref pattern,ref expr,ref block) => write!(f , "for {} in {} {}" , pattern , expr , block), & Token::ExprWhile(ref expr,ref block) => write!(f , "while {} {}" , expr , block), & Token::True => write!(f , "true"), & Token::False => write!(f , "false"), & Token::Ref => write!(f , "ref"), & Token::For => write!(f , "for"), & Token::Match => write!(f , "match"), & Token::If => write!(f , "if"), & Token::Else => write!(f , "else"), & Token::MacroExpr(ref token,None,ref trees) => write!(f , "{}!{}" , token , trees), & Token::DelimitedTokenTrees(ref trees) => write!(f , "{}" , trees), & Token::BracketsDelimitedTokenTrees(ref trees) => write!(f , "[{}]" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::ParensDelimitedTokenTrees(ref trees) => write!(f , "({})" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::BracesDelimitedTokenTrees(ref trees) => write!(f , "{{{}}}" , trees . iter () . map (| t | t . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::LiteralIdent(ref string) => write!(f , "{}" , string), & Token::Dot => write!(f , "."), & Token::Comma => write!(f , ","), & Token::ModSep => write!(f , "::"), & Token::Vertical => write!(f , "|"), & Token::Ampersand => write!(f , "&"), & Token::Plus => write!(f , "+"), & Token::Minus => write!(f , "-"), & Token::Star => write!(f , "*"), & Token::Slash => write!(f , "/"), & Token::Bang => write!(f , "!"), & Token::LT => write!(f , "<"), & Token::GT => write!(f , ">"), & Token::NE => write!(f , "!="), & Token::EqualEqual => write!(f , "=="), & Token::AndAnd => write!(f , "&&"), & Token::OrOr => write!(f , "||"), & Token::PlusEqual => write!(f , "+="), & Token::FatArrow => write!(f , "=>"), & Token::DotDot => write!(f , ".."), & Token::NoSpace => write!(f , ""), & Token::MatchClause(ref attributes,ref pattern,ref token) => write!(f , "{} => {}," , pattern , token), & Token::PatTup(ref patterns) => write!(f , "{}" , patterns . iter () . map (| p | p . to_string ()) . collect :: < Vec < String >  > () . join (" ")), & Token::LittleSelf => write!(f , "self"), _ => panic!("panic displaying {:?}" , self), }
[INFO] [stderr]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attributes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/compiler.rs:296:245
[INFO] [stderr]     |
[INFO] [stderr] 296 | match token { & Token::WholeCrate(ref items) => {for item in items {self.process_token(item);}}, & Token::ModItem(ref attributes,ref item) => {match item { & ItemKind::Fixme => println!("fixme item={:?}" , item), & ItemKind::Macro(ref path,ref id,ref tree) => {match (path.as_ref(),tree.as_ref()) { (& Token::PathExpr(PathKind::Ident(ref s)),& Token::ParensDelimitedTokenTrees(ref data)) => {if s == "keyword_terminal" {let mut comma_index=0;
[INFO] [stderr]     |                                                                                                                                                                                                                                                     ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lifetimes`
[INFO] [stderr]    --> src/compiler.rs:323:61
[INFO] [stderr]     |
[INFO] [stderr] 323 | for item in items {match item { & ItemKind::FN(ref name,ref lifetimes,ref _gp,ref _params,ref _oret,ref _bs,ref _be) => {if name == "_match" {fn_match = (Some(item.clone()));} else {panic!("received fn {} is terminal {}" , name , id);}}, _ => panic!("We do not know what to do with item {:?} in terminal {}" , item , id), }
[INFO] [stderr]     |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lifetimes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2966:25
[INFO] [stderr]      |
[INFO] [stderr] 2966 | (&Token::PatTupElts(ref elements),&Token::DotDot) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2969:25
[INFO] [stderr]      |
[INFO] [stderr] 2969 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2972:25
[INFO] [stderr]      |
[INFO] [stderr] 2972 | (&Token::PatTupElts(ref elements),&Token::DotDot,&Token::Comma,&Token::PatTupElts(_)) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2975:25
[INFO] [stderr]      |
[INFO] [stderr] 2975 | (&Token::PatTupElts(ref elements),&Token::DotDot,&Token::Comma,&Token::PatTupElts(_),&Token::Comma) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2978:25
[INFO] [stderr]      |
[INFO] [stderr] 2978 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot,&Token::Comma,&Token::PatTupElts(_)) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `elements`
[INFO] [stderr]     --> src/compiler.rs:2981:25
[INFO] [stderr]      |
[INFO] [stderr] 2981 | (&Token::PatTupElts(ref elements),&Token::Comma,&Token::DotDot,&Token::Comma,&Token::PatTupElts(_),&Token::Comma) => Token::PatTup(vec![]),
[INFO] [stderr]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3485:27
[INFO] [stderr]      |
[INFO] [stderr] 3485 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3485:102
[INFO] [stderr]      |
[INFO] [stderr] 3485 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3488:27
[INFO] [stderr]      |
[INFO] [stderr] 3488 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3488:102
[INFO] [stderr]      |
[INFO] [stderr] 3488 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3548:27
[INFO] [stderr]      |
[INFO] [stderr] 3548 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3548:88
[INFO] [stderr]      |
[INFO] [stderr] 3548 | (&Token::NonblockExpr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3551:27
[INFO] [stderr]      |
[INFO] [stderr] 3551 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3551:88
[INFO] [stderr]      |
[INFO] [stderr] 3551 | (&Token::NonblockExpr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Expr(ref right)) => Token::NonblockExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3662:19
[INFO] [stderr]      |
[INFO] [stderr] 3662 | (&Token::Expr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3662:94
[INFO] [stderr]      |
[INFO] [stderr] 3662 | (&Token::Expr(ref left),&Token::LT,&Token::NoSpace,&Token::LT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]     --> src/compiler.rs:3665:19
[INFO] [stderr]      |
[INFO] [stderr] 3665 | (&Token::Expr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]     --> src/compiler.rs:3665:94
[INFO] [stderr]      |
[INFO] [stderr] 3665 | (&Token::Expr(ref left),&Token::GT,&Token::NoSpace,&Token::GT,&Token::Equal,&Token::Expr(ref right)) => Token::Expr(ExprKind::Fixme),
[INFO] [stderr]      |                                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]     --> src/compiler.rs:3992:54
[INFO] [stderr]      |
[INFO] [stderr] 3992 | (&Token::AndAnd,&Token::MaybeMut(_),&Token::Expr(ref expr)) => Token::NonblockPrefixExpr(ExprKind::Fixme),
[INFO] [stderr]      |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Fixme`
[INFO] [stderr]   --> src/compiler.rs:87:1
[INFO] [stderr]    |
[INFO] [stderr] 87 | Fixme,
[INFO] [stderr]    | ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Fixme`
[INFO] [stderr]   --> src/compiler.rs:98:1
[INFO] [stderr]    |
[INFO] [stderr] 98 | Fixme,
[INFO] [stderr]    | ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Bounds`
[INFO] [stderr]    --> src/compiler.rs:448:3621
[INFO] [stderr]     |
[INFO] [stderr] 448 | Static,Mut,Const,Crate,Extern,As,Struct,Enum,Union,Mod,Unsafe,FN,Pub,LittleSelf,Type,For,Trait,DEFAULT,Impl,Where,Super,BOX,Ref,Typeof,StaticLifetime,Continue,Return,Break,Yield,Move,Match,If,Else,LiteralLet,While,Loop,In,True,False,Catch,Use,Terminal,Nonterminal,ShebangLine,LitInteger(usize),LitByte,LitChar(char),LiteralLifetime(String),LitFloat,LitStr(String),LitStrRaw,LitByteStr,LitByteStrRaw,NoSpace,InnerDocComment,OuterDocComment(String),LiteralIdent(String),Shebang,NumberSign,FatArrow,EqualEqual,NE,Equal,LArrow,RArrow,LE,GE,MinusEqual,AndEqual,OrEqual,PlusEqual,StarEqual,SlashEqual,CaretEqual,PercentEqual,GT,Underscore,OrOr,Vertical,Comma,AndAnd,Ampersand,DotDotDot,DotDot,Dot,ModSep,Colon,Caret,Percent,Semicolon,Bang,At,Star,QuestionMark,LBracket,RBracket,LPar,RPar,LBrace,RBrace,LT,Plus,Minus,Slash,WholeCrate(Vec<Rc<Token>>),MaybeShebang,MaybeInnerAttrs,InnerAttrs,InnerAttr,MaybeOuterAttrs(Vec<AttrKind>),OuterAttrs(Vec<AttrKind>),OuterAttr(AttrKind),MetaItem(AttrKind),MetaSeq(Vec<AttrKind>),MaybeModItems(Vec<Rc<Token>>),ModItems(Vec<Rc<Token>>),AttrsAndVis(Vec<AttrKind>),ModItem(Vec<AttrKind>,ItemKind),Item(ItemKind),StmtItem(ItemKind),ItemStatic,ItemConst,ItemMacro(ItemKind),ViewItem(ViewKind),ExternFnItem,UseItem(ViewKind),ViewPath(ViewKind),BlockItem(ItemKind),MaybeTyAscription(Option<TyLf>),MaybeInitExpr(Option<ExprKind>),ItemStruct(ItemKind),StructDeclArgs(Vec<(String,TyLf)>),StructTupleArgs,StructDeclFields(Vec<(String,TyLf)>),StructDeclField(String,TyLf),StructTupleFields,StructTupleField,ItemEnum(ItemKind),EnumDefs(Vec<(String,Vec<TyLf>)>),EnumDef(String,Vec<TyLf>),EnumArgs(Vec<TyLf>),ItemUnion,ItemMod,ItemForeignMod,MaybeAbi,MaybeForeignItems,ForeignItems,ForeignItem,ItemForeignStatic,ItemForeignFn,FnDeclAllowVariadic,FnParamsAllowVariadic,Visibility,IdentsOrSelf(Vec<String>),IdentOrSelf(String),ItemType,ForSized,ItemTrait,MaybeTraitItems,TraitItems,TraitItem,TraitConst,MaybeConstDefault,TraitType,MaybeUnsafe,MaybeDefaultMaybeUnsafe,TraitMethod,TypeMethod,Method,ImplMethod(ItemKind),ItemImpl(ItemKind),MaybeImplItems(Vec<ItemKind>),ImplItems(Vec<ItemKind>),ImplItem(ItemKind),MaybeDefault,ImplConst,ImplType,ItemFn(ItemKind),ItemUnsafeFn,FnDecl(Vec<(PatKind,TyLf)>,Option<TyKind>),FnDeclWithSelf(bool,bool,bool,Option<TyLf>,Vec<(PatKind,TyLf)>,Option<TyKind>),FnDeclWithSelfAllowAnonParams,FnParams(Vec<(PatKind,TyLf)>),FnAnonParams,FnParamsWithSelf(bool,bool,bool,Option<TyLf>,Vec<(PatKind,TyLf)>),FnAnonParamsWithSelf,MaybeParams(Vec<(PatKind,TyLf)>),Params(Vec<(PatKind,TyLf)>),Param(PatKind,TyLf),InferrableParams(Vec<(PatKind,Option<TyLf>)>),InferrableParam(PatKind,Option<TyLf>),MaybeCommaParams(Vec<(PatKind,TyLf)>),MaybeCommaAnonParams,MaybeAnonParams,AnonParams,AnonParam,AnonParamsAllowVariadicTail,NamedArg,RetTy(Option<TyKind>),GenericParams(Vec<String>,Vec<String>),MaybeWhereClause,WhereClause,WherePredicates,WherePredicate,MaybeForLifetimes,TyParams(Vec<String>),PathNoTypesAllowed(PathNKind),PathGenericArgsWithoutColons(PathWKind),GenericArgs(Vec<TyLf>),GenericValues(Vec<TyLf>),MaybeTySumsAndOrBindings(Vec<TyLf>),MaybeBindings,Pat(PatKind),PatsOr(PatKind),BindingMode(BindKind),LitOrPath(PathKind),PatField,PatFields,PatStruct,PatTup(Vec<PatKind>),PatTupElts(Vec<PatKind>),PatVec,PatVecElts,Ty(TyKind),TyPrim(TyKind),TyBareFn,TyFnDecl,TyClosure,ForInType,ForInTypeSuffix,MaybeMut(bool),MaybeMutOrConst,TyQualifiedPathAndGenericValues,TyQualifiedPath,MaybeTySums(Vec<TyLf>),TySums(Vec<TyLf>),TySum(TyLf),TySumElt(TyLf),TyPrimSum(TyLf),TyPrimSumElt(TyLf),MaybeTyParamBounds,TyParamBounds,Boundseq,Polybound,Bindings,Binding,TyParam(String),MaybeBounds,Bounds,Bound,MaybeLTBounds,LTBounds,MaybeTyDefault,MaybeLifetimes,Lifetimes(Vec<String>),LifetimeAndBounds(String),Lifetime(String),TraitRef(PathWKind),InnerAttrsAndBlock(Vec<StmtKind>,Option<ExprKind>),Block(Vec<StmtKind>,Option<ExprKind>),MaybeStmts(Vec<StmtKind>,Option<ExprKind>),Stmts(Vec<StmtKind>),Stmt(StmtKind),MaybeExprs(Vec<ExprKind>),MaybeExpr(Option<ExprKind>),Exprs(Vec<ExprKind>),PathExpr(PathKind),PathGenericArgsWithColons(PathKind),MacroExpr(Rc<Token>,Option<Rc<Token>>,Rc<Token>),NonblockExpr(ExprKind),Expr(ExprKind),ExprNostruct(ExprKind),NonblockPrefixExprNostruct(ExprKind),NonblockPrefixExpr(ExprKind),ExprQualifiedPath,MaybeQPathParams,MaybeAsTraitRef,LambdaExpr(ExprKind),LambdaExprNoFirstBar(ExprKind),LambdaExprNostruct(ExprKind),LambdaExprNostructNoFirstBar(ExprKind),VecExpr,StructExprFields(Vec<(String,Option<ExprKind>)>),MaybeFieldInits(Vec<(String,Option<ExprKind>)>),FieldInits(Vec<(String,Option<ExprKind>)>),FieldInit(String,Option<ExprKind>),DefaultFieldInit,BlockExpr(Rc<Token>),FullBlockExpr(Rc<Token>),BlockExprDot,ExprMatch(ExprKind,Vec<Rc<Token>>),MatchClauses(Vec<Rc<Token>>),MatchClause(Vec<AttrKind>,PatKind,Rc<Token>),NonblockMatchClause(Vec<AttrKind>,PatKind,Rc<Token>),BlockMatchClause(Vec<AttrKind>,PatKind,Rc<Token>),MaybeGuard,ExprIf(ExprKind,Rc<Token>,Option<Rc<Token>>),ExprIfLet(PatKind,ExprKind,Rc<Token>,Option<Rc<Token>>),BlockOrIf(Rc<Token>),ExprWhile(ExprKind,Rc<Token>),ExprWhileLet,ExprLoop,ExprFor(PatKind,ExprKind,Rc<Token>),MaybeLabel,Let(StmtKind),Lit(Rc<Token>),Str(String),MaybeIdent,Ident(String),UnpairedToken(Rc<Token>),TokenTrees(Vec<Rc<Token>>),TokenTree(Rc<Token>),DelimitedTokenTrees(Rc<Token>),ParensDelimitedTokenTrees(Vec<Rc<Token>>),BracesDelimitedTokenTrees(Vec<Rc<Token>>),BracketsDelimitedTokenTrees(Vec<Rc<Token>>),MaybeSpace,ItemTerminal(ItemKind),MaybeTerminalItems(Vec<ItemKind>),TerminalItems(Vec<ItemKind>),TerminalItem(ItemKind),ItemNonterminal(ItemKind),}
[INFO] [stderr]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Fixme`
[INFO] [stderr]   --> src/compiler.rs:87:1
[INFO] [stderr]    |
[INFO] [stderr] 87 | Fixme,
[INFO] [stderr]    | ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Fixme`
[INFO] [stderr]   --> src/compiler.rs:98:1
[INFO] [stderr]    |
[INFO] [stderr] 98 | Fixme,
[INFO] [stderr]    | ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Bounds`
[INFO] [stderr]    --> src/compiler.rs:448:3621
[INFO] [stderr]     |
[INFO] [stderr] 448 | Static,Mut,Const,Crate,Extern,As,Struct,Enum,Union,Mod,Unsafe,FN,Pub,LittleSelf,Type,For,Trait,DEFAULT,Impl,Where,Super,BOX,Ref,Typeof,StaticLifetime,Continue,Return,Break,Yield,Move,Match,If,Else,LiteralLet,While,Loop,In,True,False,Catch,Use,Terminal,Nonterminal,ShebangLine,LitInteger(usize),LitByte,LitChar(char),LiteralLifetime(String),LitFloat,LitStr(String),LitStrRaw,LitByteStr,LitByteStrRaw,NoSpace,InnerDocComment,OuterDocComment(String),LiteralIdent(String),Shebang,NumberSign,FatArrow,EqualEqual,NE,Equal,LArrow,RArrow,LE,GE,MinusEqual,AndEqual,OrEqual,PlusEqual,StarEqual,SlashEqual,CaretEqual,PercentEqual,GT,Underscore,OrOr,Vertical,Comma,AndAnd,Ampersand,DotDotDot,DotDot,Dot,ModSep,Colon,Caret,Percent,Semicolon,Bang,At,Star,QuestionMark,LBracket,RBracket,LPar,RPar,LBrace,RBrace,LT,Plus,Minus,Slash,WholeCrate(Vec<Rc<Token>>),MaybeShebang,MaybeInnerAttrs,InnerAttrs,InnerAttr,MaybeOuterAttrs(Vec<AttrKind>),OuterAttrs(Vec<AttrKind>),OuterAttr(AttrKind),MetaItem(AttrKind),MetaSeq(Vec<AttrKind>),MaybeModItems(Vec<Rc<Token>>),ModItems(Vec<Rc<Token>>),AttrsAndVis(Vec<AttrKind>),ModItem(Vec<AttrKind>,ItemKind),Item(ItemKind),StmtItem(ItemKind),ItemStatic,ItemConst,ItemMacro(ItemKind),ViewItem(ViewKind),ExternFnItem,UseItem(ViewKind),ViewPath(ViewKind),BlockItem(ItemKind),MaybeTyAscription(Option<TyLf>),MaybeInitExpr(Option<ExprKind>),ItemStruct(ItemKind),StructDeclArgs(Vec<(String,TyLf)>),StructTupleArgs,StructDeclFields(Vec<(String,TyLf)>),StructDeclField(String,TyLf),StructTupleFields,StructTupleField,ItemEnum(ItemKind),EnumDefs(Vec<(String,Vec<TyLf>)>),EnumDef(String,Vec<TyLf>),EnumArgs(Vec<TyLf>),ItemUnion,ItemMod,ItemForeignMod,MaybeAbi,MaybeForeignItems,ForeignItems,ForeignItem,ItemForeignStatic,ItemForeignFn,FnDeclAllowVariadic,FnParamsAllowVariadic,Visibility,IdentsOrSelf(Vec<String>),IdentOrSelf(String),ItemType,ForSized,ItemTrait,MaybeTraitItems,TraitItems,TraitItem,TraitConst,MaybeConstDefault,TraitType,MaybeUnsafe,MaybeDefaultMaybeUnsafe,TraitMethod,TypeMethod,Method,ImplMethod(ItemKind),ItemImpl(ItemKind),MaybeImplItems(Vec<ItemKind>),ImplItems(Vec<ItemKind>),ImplItem(ItemKind),MaybeDefault,ImplConst,ImplType,ItemFn(ItemKind),ItemUnsafeFn,FnDecl(Vec<(PatKind,TyLf)>,Option<TyKind>),FnDeclWithSelf(bool,bool,bool,Option<TyLf>,Vec<(PatKind,TyLf)>,Option<TyKind>),FnDeclWithSelfAllowAnonParams,FnParams(Vec<(PatKind,TyLf)>),FnAnonParams,FnParamsWithSelf(bool,bool,bool,Option<TyLf>,Vec<(PatKind,TyLf)>),FnAnonParamsWithSelf,MaybeParams(Vec<(PatKind,TyLf)>),Params(Vec<(PatKind,TyLf)>),Param(PatKind,TyLf),InferrableParams(Vec<(PatKind,Option<TyLf>)>),InferrableParam(PatKind,Option<TyLf>),MaybeCommaParams(Vec<(PatKind,TyLf)>),MaybeCommaAnonParams,MaybeAnonParams,AnonParams,AnonParam,AnonParamsAllowVariadicTail,NamedArg,RetTy(Option<TyKind>),GenericParams(Vec<String>,Vec<String>),MaybeWhereClause,WhereClause,WherePredicates,WherePredicate,MaybeForLifetimes,TyParams(Vec<String>),PathNoTypesAllowed(PathNKind),PathGenericArgsWithoutColons(PathWKind),GenericArgs(Vec<TyLf>),GenericValues(Vec<TyLf>),MaybeTySumsAndOrBindings(Vec<TyLf>),MaybeBindings,Pat(PatKind),PatsOr(PatKind),BindingMode(BindKind),LitOrPath(PathKind),PatField,PatFields,PatStruct,PatTup(Vec<PatKind>),PatTupElts(Vec<PatKind>),PatVec,PatVecElts,Ty(TyKind),TyPrim(TyKind),TyBareFn,TyFnDecl,TyClosure,ForInType,ForInTypeSuffix,MaybeMut(bool),MaybeMutOrConst,TyQualifiedPathAndGenericValues,TyQualifiedPath,MaybeTySums(Vec<TyLf>),TySums(Vec<TyLf>),TySum(TyLf),TySumElt(TyLf),TyPrimSum(TyLf),TyPrimSumElt(TyLf),MaybeTyParamBounds,TyParamBounds,Boundseq,Polybound,Bindings,Binding,TyParam(String),MaybeBounds,Bounds,Bound,MaybeLTBounds,LTBounds,MaybeTyDefault,MaybeLifetimes,Lifetimes(Vec<String>),LifetimeAndBounds(String),Lifetime(String),TraitRef(PathWKind),InnerAttrsAndBlock(Vec<StmtKind>,Option<ExprKind>),Block(Vec<StmtKind>,Option<ExprKind>),MaybeStmts(Vec<StmtKind>,Option<ExprKind>),Stmts(Vec<StmtKind>),Stmt(StmtKind),MaybeExprs(Vec<ExprKind>),MaybeExpr(Option<ExprKind>),Exprs(Vec<ExprKind>),PathExpr(PathKind),PathGenericArgsWithColons(PathKind),MacroExpr(Rc<Token>,Option<Rc<Token>>,Rc<Token>),NonblockExpr(ExprKind),Expr(ExprKind),ExprNostruct(ExprKind),NonblockPrefixExprNostruct(ExprKind),NonblockPrefixExpr(ExprKind),ExprQualifiedPath,MaybeQPathParams,MaybeAsTraitRef,LambdaExpr(ExprKind),LambdaExprNoFirstBar(ExprKind),LambdaExprNostruct(ExprKind),LambdaExprNostructNoFirstBar(ExprKind),VecExpr,StructExprFields(Vec<(String,Option<ExprKind>)>),MaybeFieldInits(Vec<(String,Option<ExprKind>)>),FieldInits(Vec<(String,Option<ExprKind>)>),FieldInit(String,Option<ExprKind>),DefaultFieldInit,BlockExpr(Rc<Token>),FullBlockExpr(Rc<Token>),BlockExprDot,ExprMatch(ExprKind,Vec<Rc<Token>>),MatchClauses(Vec<Rc<Token>>),MatchClause(Vec<AttrKind>,PatKind,Rc<Token>),NonblockMatchClause(Vec<AttrKind>,PatKind,Rc<Token>),BlockMatchClause(Vec<AttrKind>,PatKind,Rc<Token>),MaybeGuard,ExprIf(ExprKind,Rc<Token>,Option<Rc<Token>>),ExprIfLet(PatKind,ExprKind,Rc<Token>,Option<Rc<Token>>),BlockOrIf(Rc<Token>),ExprWhile(ExprKind,Rc<Token>),ExprWhileLet,ExprLoop,ExprFor(PatKind,ExprKind,Rc<Token>),MaybeLabel,Let(StmtKind),Lit(Rc<Token>),Str(String),MaybeIdent,Ident(String),UnpairedToken(Rc<Token>),TokenTrees(Vec<Rc<Token>>),TokenTree(Rc<Token>),DelimitedTokenTrees(Rc<Token>),ParensDelimitedTokenTrees(Vec<Rc<Token>>),BracesDelimitedTokenTrees(Vec<Rc<Token>>),BracketsDelimitedTokenTrees(Vec<Rc<Token>>),MaybeSpace,ItemTerminal(ItemKind),MaybeTerminalItems(Vec<ItemKind>),TerminalItems(Vec<ItemKind>),TerminalItem(ItemKind),ItemNonterminal(ItemKind),}
[INFO] [stderr]     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "4c7d9e4c9d227a0bd775d93812d02c12c6c5eb6416200c5fb0bc49a8e5ba8f72"`
[INFO] running `"docker" "rm" "-f" "4c7d9e4c9d227a0bd775d93812d02c12c6c5eb6416200c5fb0bc49a8e5ba8f72"`
[INFO] [stdout] 4c7d9e4c9d227a0bd775d93812d02c12c6c5eb6416200c5fb0bc49a8e5ba8f72
