[INFO] updating cached repository https://github.com/jswrenn/rustylog
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 8678bccea50c76ebe3162901eb1d16464713c2b9
[INFO] checking jswrenn/rustylog against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjswrenn%2Frustylog" "/workspace/builds/worker-7/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jswrenn/rustylog on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/jswrenn/rustylog
[INFO] finished tweaking git repo https://github.com/jswrenn/rustylog
[INFO] tweaked toml for git repo https://github.com/jswrenn/rustylog written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/jswrenn/rustylog already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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] [stdout] 9379211c4eaadf8f09b4410ad1ffa6f6bcebaea382c5966f13f6e8bb92c83a39
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "9379211c4eaadf8f09b4410ad1ffa6f6bcebaea382c5966f13f6e8bb92c83a39"`
[INFO] [stderr]     Checking prolog v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] error: the range pattern here has ambiguous interpretation
[INFO] [stderr]   --> src/tokenizer.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Some(&'A'..'Z')      => {
[INFO] [stderr]    |                   ^^^^^^^^ help: add parentheses to clarify the precedence: `('A' ..'Z')`
[INFO] [stderr] 
[INFO] [stderr] error: the range pattern here has ambiguous interpretation
[INFO] [stderr]   --> src/tokenizer.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Some(&'a'..'z')     => {
[INFO] [stderr]    |                   ^^^^^^^^ help: add parentheses to clarify the precedence: `('a' ..'z')`
[INFO] [stderr] 
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]   --> src/parser.rs:5:24
[INFO] [stderr]    |
[INFO] [stderr] 5  |   macro_rules! lookahead (
[INFO] [stderr]    |  ________________________^
[INFO] [stderr] 6  | |     ($iter:ident 1) => ({
[INFO] [stderr] 7  | |         let mut _temp = $iter.clone();
[INFO] [stderr] 8  | |         (_temp.next())
[INFO] [stderr] ...  |
[INFO] [stderr] 17 | |     });
[INFO] [stderr] 18 | | )
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr] help: change the delimiters to curly braces
[INFO] [stderr]    |
[INFO] [stderr] 5  | macro_rules! lookahead {
[INFO] [stderr] 6  |     ($iter:ident 1) => ({
[INFO] [stderr] 7  |         let mut _temp = $iter.clone();
[INFO] [stderr] 8  |         (_temp.next())
[INFO] [stderr] 9  |     });
[INFO] [stderr] 10 |     ($iter:ident 2) => ({
[INFO] [stderr]  ...
[INFO] [stderr] help: add a semicolon
[INFO] [stderr]    |
[INFO] [stderr] 18 | );
[INFO] [stderr]    |  ^
[INFO] [stderr] 
[INFO] [stderr] error: the range pattern here has ambiguous interpretation
[INFO] [stderr]   --> src/tokenizer.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Some(&'A'..'Z')      => {
[INFO] [stderr]    |                   ^^^^^^^^ help: add parentheses to clarify the precedence: `('A' ..'Z')`
[INFO] [stderr] 
[INFO] [stderr] error: the range pattern here has ambiguous interpretation
[INFO] [stderr]   --> src/tokenizer.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Some(&'a'..'z')     => {
[INFO] [stderr]    |                   ^^^^^^^^ help: add parentheses to clarify the precedence: `('a' ..'z')`
[INFO] [stderr] 
[INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stderr]   --> src/parser.rs:5:24
[INFO] [stderr]    |
[INFO] [stderr] 5  |   macro_rules! lookahead (
[INFO] [stderr]    |  ________________________^
[INFO] [stderr] 6  | |     ($iter:ident 1) => ({
[INFO] [stderr] 7  | |         let mut _temp = $iter.clone();
[INFO] [stderr] 8  | |         (_temp.next())
[INFO] [stderr] ...  |
[INFO] [stderr] 17 | |     });
[INFO] [stderr] 18 | | )
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr] help: change the delimiters to curly braces
[INFO] [stderr]    |
[INFO] [stderr] 5  | macro_rules! lookahead {
[INFO] [stderr] 6  |     ($iter:ident 1) => ({
[INFO] [stderr] 7  |         let mut _temp = $iter.clone();
[INFO] [stderr] 8  |         (_temp.next())
[INFO] [stderr] 9  |     });
[INFO] [stderr] 10 |     ($iter:ident 2) => ({
[INFO] [stderr]  ...
[INFO] [stderr] help: add a semicolon
[INFO] [stderr]    |
[INFO] [stderr] 18 | );
[INFO] [stderr]    |  ^
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `std::slice::Items`
[INFO] [stderr]  --> src/parser.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::slice::Items;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^ no `Items` in `slice`
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `deriving` in this scope
[INFO] [stderr]  --> src/tokenizer.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[deriving(Eq, PartialEq, Show, Clone)]
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `GroupL` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:28:61
[INFO] [stderr]    |
[INFO] [stderr] 28 |             Some(&'(')           => {self.iter.next(); Some(GroupL)},
[INFO] [stderr]    |                                                             ^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::GroupL;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `GroupR` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:29:61
[INFO] [stderr]    |
[INFO] [stderr] 29 |             Some(&')')           => {self.iter.next(); Some(GroupR)},
[INFO] [stderr]    |                                                             ^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::GroupR;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `Separator` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:30:61
[INFO] [stderr]    |
[INFO] [stderr] 30 |             Some(&',')           => {self.iter.next(); Some(Separator)},
[INFO] [stderr]    |                                                             ^^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Separator;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `Implies` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:31:61
[INFO] [stderr]    |
[INFO] [stderr] 31 |             Some(&'←')           => {self.iter.next(); Some(Implies)},
[INFO] [stderr]    |                                                             ^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Implies;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:38:29
[INFO] [stderr]    |
[INFO] [stderr] 38 |                 return Some(Atom(chars));
[INFO] [stderr]    |                             ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:46:29
[INFO] [stderr]    |
[INFO] [stderr] 46 |                 return Some(Atom(chars));
[INFO] [stderr]    |                             ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 |         (Some(&Atom(ref s)),       Some(&GroupL)) => parse_structure(iter),
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 |         (Some(&Atom(ref s)),       _            ) => parse_atom(iter),
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 |         (Some(&Variable(ref s)),   _            ) => parse_variable(iter),
[INFO] [stderr]    |                ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         Some(&Atom(ref f)) => {
[INFO] [stderr]    |               ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |             return Some(semantics::Atom(f.to_string()));
[INFO] [stderr]    |                                    ^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |         Some(&Variable(ref f)) => {
[INFO] [stderr]    |               ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Variable` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:49:27
[INFO] [stderr]    |
[INFO] [stderr] 49 |             return Some(semantics::Variable(f.to_string()));
[INFO] [stderr]    |                                    ^^^^^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |         Some(&Atom(ref f)) => {
[INFO] [stderr]    |               ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     Some(&Atom(_))| Some(&Variable(_))    => {
[INFO] [stderr]    |                           ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:62:28
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     Some(&Atom(_))| Some(&Variable(_))    => {
[INFO] [stderr]    |                                           ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Structure` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:73:27
[INFO] [stderr]    |
[INFO] [stderr] 73 |             return Some(semantics::Structure(f.to_string(), terms));
[INFO] [stderr]    |                                    ^^^^^^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Structure;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Some(&'A'..'Z')      => {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:35:29
[INFO] [stderr]    |
[INFO] [stderr] 35 | ...                   'A'..'Z' => true,
[INFO] [stderr]    |                       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Some(&'a'..'z')     => {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:43:29
[INFO] [stderr]    |
[INFO] [stderr] 43 | ...                   'a'..'z' => true,
[INFO] [stderr]    |                       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]   --> src/parser.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 match (iter.next()) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `std::slice::Items`
[INFO] [stderr]  --> src/parser.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::slice::Items;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^ no `Items` in `slice`
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `deriving` in this scope
[INFO] [stderr]  --> src/tokenizer.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[deriving(Eq, PartialEq, Show, Clone)]
[INFO] [stderr]   |   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 1, found 2
[INFO] [stderr]   --> src/tokenizer.rs:14:27
[INFO] [stderr]    |
[INFO] [stderr] 14 |     iter:  Peekable<char, T>
[INFO] [stderr]    |                           ^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:17:18
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<T: Iterator<char>> Tokenizer<T> {
[INFO] [stderr]    |                  ^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:25:34
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl<T: Iterator<char>> Iterator<Token> for Tokenizer<T> {
[INFO] [stderr]    |                                  ^^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl<T: Iterator<char>> Iterator<Token> for Tokenizer<T> {
[INFO] [stderr]    |                  ^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 30 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0107, E0425, E0432, E0531, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0107`.
[INFO] [stderr] error: could not compile `prolog`.
[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] error[E0425]: cannot find value `GroupL` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:28:61
[INFO] [stderr]    |
[INFO] [stderr] 28 |             Some(&'(')           => {self.iter.next(); Some(GroupL)},
[INFO] [stderr]    |                                                             ^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::GroupL;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `GroupR` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:29:61
[INFO] [stderr]    |
[INFO] [stderr] 29 |             Some(&')')           => {self.iter.next(); Some(GroupR)},
[INFO] [stderr]    |                                                             ^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::GroupR;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `Separator` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:30:61
[INFO] [stderr]    |
[INFO] [stderr] 30 |             Some(&',')           => {self.iter.next(); Some(Separator)},
[INFO] [stderr]    |                                                             ^^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Separator;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `Implies` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:31:61
[INFO] [stderr]    |
[INFO] [stderr] 31 |             Some(&'←')           => {self.iter.next(); Some(Implies)},
[INFO] [stderr]    |                                                             ^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Implies;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:38:29
[INFO] [stderr]    |
[INFO] [stderr] 38 |                 return Some(Atom(chars));
[INFO] [stderr]    |                             ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/tokenizer.rs:46:29
[INFO] [stderr]    |
[INFO] [stderr] 46 |                 return Some(Atom(chars));
[INFO] [stderr]    |                             ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 |         (Some(&Atom(ref s)),       Some(&GroupL)) => parse_structure(iter),
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 |         (Some(&Atom(ref s)),       _            ) => parse_atom(iter),
[INFO] [stderr]    |                ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 |         (Some(&Variable(ref s)),   _            ) => parse_variable(iter),
[INFO] [stderr]    |                ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         Some(&Atom(ref f)) => {
[INFO] [stderr]    |               ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Atom` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |             return Some(semantics::Atom(f.to_string()));
[INFO] [stderr]    |                                    ^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |         Some(&Variable(ref f)) => {
[INFO] [stderr]    |               ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Variable` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:49:27
[INFO] [stderr]    |
[INFO] [stderr] 49 |             return Some(semantics::Variable(f.to_string()));
[INFO] [stderr]    |                                    ^^^^^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |         Some(&Atom(ref f)) => {
[INFO] [stderr]    |               ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Atom` in this scope
[INFO] [stderr]   --> src/parser.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     Some(&Atom(_))| Some(&Variable(_))    => {
[INFO] [stderr]    |                           ^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Atom;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0531]: cannot find tuple struct or tuple variant `Variable` in this scope
[INFO] [stderr]   --> src/parser.rs:62:28
[INFO] [stderr]    |
[INFO] [stderr] 62 |                     Some(&Atom(_))| Some(&Variable(_))    => {
[INFO] [stderr]    |                                           ^^^^^^^^ not found in this scope
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 1  | use tokenizer::Token::Variable;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function, tuple struct or tuple variant `Structure` in module `semantics`
[INFO] [stderr]   --> src/parser.rs:73:27
[INFO] [stderr]    |
[INFO] [stderr] 73 |             return Some(semantics::Structure(f.to_string(), terms));
[INFO] [stderr]    |                                    ^^^^^^^^^ not found in `semantics`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use semantics::Term::Structure;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:32:19
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Some(&'A'..'Z')      => {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:35:29
[INFO] [stderr]    |
[INFO] [stderr] 35 | ...                   'A'..'Z' => true,
[INFO] [stderr]    |                       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Some(&'a'..'z')     => {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] error[E0658]: exclusive range pattern syntax is experimental
[INFO] [stderr]   --> src/tokenizer.rs:43:29
[INFO] [stderr]    |
[INFO] [stderr] 43 | ...                   'a'..'z' => true,
[INFO] [stderr]    |                       ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: see issue #37854 <https://github.com/rust-lang/rust/issues/37854> for more information
[INFO] [stderr]    = help: add `#![feature(exclusive_range_pattern)]` to the crate attributes to enable
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]   --> src/parser.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 match (iter.next()) {
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 1, found 2
[INFO] [stderr]   --> src/tokenizer.rs:14:27
[INFO] [stderr]    |
[INFO] [stderr] 14 |     iter:  Peekable<char, T>
[INFO] [stderr]    |                           ^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:17:18
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl<T: Iterator<char>> Tokenizer<T> {
[INFO] [stderr]    |                  ^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:25:34
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl<T: Iterator<char>> Iterator<Token> for Tokenizer<T> {
[INFO] [stderr]    |                                  ^^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/tokenizer.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl<T: Iterator<char>> Iterator<Token> for Tokenizer<T> {
[INFO] [stderr]    |                  ^^^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 30 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0107, E0425, E0432, E0531, E0658.
[INFO] [stderr] For more information about an error, try `rustc --explain E0107`.
[INFO] [stderr] error: could not compile `prolog`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "9379211c4eaadf8f09b4410ad1ffa6f6bcebaea382c5966f13f6e8bb92c83a39"`
[INFO] running `"docker" "rm" "-f" "9379211c4eaadf8f09b4410ad1ffa6f6bcebaea382c5966f13f6e8bb92c83a39"`
[INFO] [stdout] 9379211c4eaadf8f09b4410ad1ffa6f6bcebaea382c5966f13f6e8bb92c83a39
