[INFO] updating cached repository https://github.com/RobertObkircher/ro-compiler [INFO] running `Command { std: "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", kill_on_drop: false }` [INFO] [stderr] From https://github.com/RobertObkircher/ro-compiler [INFO] [stderr] 93c5145..d1449ce master -> master [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d1449ce545e6fbc21a5aa55956b2d40b854414ca [INFO] testing RobertObkircher/ro-compiler against master#8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e for pr-74409 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRobertObkircher%2Fro-compiler" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/RobertObkircher/ro-compiler on toolchain 8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/RobertObkircher/ro-compiler [INFO] finished tweaking git repo https://github.com/RobertObkircher/ro-compiler [INFO] tweaked toml for git repo https://github.com/RobertObkircher/ro-compiler written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/RobertObkircher/ro-compiler already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6cf0fc3340e21f448dd291820cb52b6e7681fe7378497c11eb83115e18f8dc4f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6cf0fc3340e21f448dd291820cb52b6e7681fe7378497c11eb83115e18f8dc4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6cf0fc3340e21f448dd291820cb52b6e7681fe7378497c11eb83115e18f8dc4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6cf0fc3340e21f448dd291820cb52b6e7681fe7378497c11eb83115e18f8dc4f", kill_on_drop: false }` [INFO] [stdout] 6cf0fc3340e21f448dd291820cb52b6e7681fe7378497c11eb83115e18f8dc4f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 02aee56a4e6875a7cdddc304af7b2690721fc7e3a3e8a438eb0dcb110275fe03 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "02aee56a4e6875a7cdddc304af7b2690721fc7e3a3e8a438eb0dcb110275fe03", kill_on_drop: false }` [INFO] [stderr] Compiling ro-compiler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TopLevel` [INFO] [stdout] --> src/parser.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 186 | Ok(TopLevel::Declaration(declaration)) [INFO] [stdout] | ^^^^^^^^ use of undeclared type or module `TopLevel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Statement` [INFO] [stdout] --> src/parser.rs:289:21 [INFO] [stdout] | [INFO] [stdout] 289 | ) => Ok(Statement::Declaration(self.parse_declaration()?)), [INFO] [stdout] | ^^^^^^^^^ use of undeclared type or module `Statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Statement` [INFO] [stdout] --> src/parser.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 296 | ) => Ok(Statement::While(self.parse_while_statement()?)), [INFO] [stdout] | ^^^^^^^^^ use of undeclared type or module `Statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Statement` [INFO] [stdout] --> src/parser.rs:297:32 [INFO] [stdout] | [INFO] [stdout] 297 | (Some(_), _) => Ok(Statement::Expression(self.parse_expression_statement()?)), [INFO] [stdout] | ^^^^^^^^^ use of undeclared type or module `Statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | Expression::Block(_) => {} [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | Expression::Lambda(Lambda { body: Some(_), .. }) => {} [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | Expression::If(_) => {} [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:312:13 [INFO] [stdout] | [INFO] [stdout] 312 | Expression::Struct(_) => {} [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:357:55 [INFO] [stdout] | [INFO] [stdout] 357 | TokenType::LeftBrace => Some(Box::new(Expression::Block(self.parse_block()?))), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 379 | Ok(Expression::Lambda(Lambda { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:426:29 [INFO] [stdout] | [INFO] [stdout] 426 | let body = Box::new(Expression::Block(self.parse_block()?)); [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:502:47 [INFO] [stdout] | [INFO] [stdout] 502 | TokenType::Op(Operator::Equal) => BinaryOperator::Equal, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:503:48 [INFO] [stdout] | [INFO] [stdout] 503 | TokenType::OpEq(Operator::Plus) => BinaryOperator::PlusEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:504:49 [INFO] [stdout] | [INFO] [stdout] 504 | TokenType::OpEq(Operator::Minus) => BinaryOperator::MinusEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:505:52 [INFO] [stdout] | [INFO] [stdout] 505 | TokenType::OpEq(Operator::Multiply) => BinaryOperator::MultiplyEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:506:50 [INFO] [stdout] | [INFO] [stdout] 506 | TokenType::OpEq(Operator::Divide) => BinaryOperator::DivideEqual) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:509:20 [INFO] [stdout] | [INFO] [stdout] 509 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:523:20 [INFO] [stdout] | [INFO] [stdout] 523 | left = Expression::Logical(LogicalExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:537:20 [INFO] [stdout] | [INFO] [stdout] 537 | left = Expression::Logical(LogicalExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:549:102 [INFO] [stdout] | [INFO] [stdout] 549 | ...okenType::OpEq(Operator::Equal) => BinaryOperator::EqualEqual, TokenType::OpEq(Operator::Not) => BinaryOperator::NotEqual) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:549:164 [INFO] [stdout] | [INFO] [stdout] 549 | ... TokenType::OpEq(Operator::Not) => BinaryOperator::NotEqual) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:552:20 [INFO] [stdout] | [INFO] [stdout] 552 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:565:46 [INFO] [stdout] | [INFO] [stdout] 565 | TokenType::Op(Operator::Less) => BinaryOperator::Less, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:566:48 [INFO] [stdout] | [INFO] [stdout] 566 | TokenType::OpEq(Operator::Less) => BinaryOperator::LessEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:567:49 [INFO] [stdout] | [INFO] [stdout] 567 | TokenType::Op(Operator::Greater) => BinaryOperator::Greater, [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:568:51 [INFO] [stdout] | [INFO] [stdout] 568 | TokenType::OpEq(Operator::Greater) => BinaryOperator::GreaterEqual) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:571:20 [INFO] [stdout] | [INFO] [stdout] 571 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:583:99 [INFO] [stdout] | [INFO] [stdout] 583 | ..., TokenType::Op(Operator::Plus) => BinaryOperator::Plus, TokenType::Op(Operator::Minus) => BinaryOperator::Minus) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:583:155 [INFO] [stdout] | [INFO] [stdout] 583 | ... TokenType::Op(Operator::Minus) => BinaryOperator::Minus) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:586:20 [INFO] [stdout] | [INFO] [stdout] 586 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:598:101 [INFO] [stdout] | [INFO] [stdout] 598 | ...TokenType::Op(Operator::Divide) => BinaryOperator::Divide, TokenType::Op(Operator::Multiply) => BinaryOperator::Multiply) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BinaryOperator` [INFO] [stdout] --> src/parser.rs:598:162 [INFO] [stdout] | [INFO] [stdout] 598 | ...kenType::Op(Operator::Multiply) => BinaryOperator::Multiply) [INFO] [stdout] | ^^^^^^^^^^^^^^ use of undeclared type or module `BinaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:601:20 [INFO] [stdout] | [INFO] [stdout] 601 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `UnaryOperator` [INFO] [stdout] --> src/parser.rs:612:97 [INFO] [stdout] | [INFO] [stdout] 612 | ..., TokenType::Op(Operator::Minus) => UnaryOperator::Minus, TokenType::Op(Operator::Not) => UnaryOperator::Not) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type or module `UnaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `UnaryOperator` [INFO] [stdout] --> src/parser.rs:612:151 [INFO] [stdout] | [INFO] [stdout] 612 | ...us, TokenType::Op(Operator::Not) => UnaryOperator::Not) [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type or module `UnaryOperator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:615:16 [INFO] [stdout] | [INFO] [stdout] 615 | Ok(Expression::Unary(UnaryExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:651:26 [INFO] [stdout] | [INFO] [stdout] 651 | expression = Expression::Call(CallExpression { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:663:46 [INFO] [stdout] | [INFO] [stdout] 663 | TokenType::Boolean(value) => Expression::BooleanLiteral(value), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:664:38 [INFO] [stdout] | [INFO] [stdout] 664 | TokenType::Number => Expression::IntegerLiteral(42), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:665:52 [INFO] [stdout] | [INFO] [stdout] 665 | TokenType::StringLiteral(value) => Expression::StringLiteral(value), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:667:31 [INFO] [stdout] | [INFO] [stdout] 667 | return Ok(Expression::Named(self.parse_name()?)) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:675:51 [INFO] [stdout] | [INFO] [stdout] 675 | TokenType::LeftBrace => return Ok(Expression::Block(self.parse_block()?)), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:676:62 [INFO] [stdout] | [INFO] [stdout] 676 | TokenType::Keyword(Keyword::If) => return Ok(Expression::If(self.parse_if()?)), [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:679:31 [INFO] [stdout] | [INFO] [stdout] 679 | return Ok(Expression::Struct(self.parse_struct()?)) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:710:22 [INFO] [stdout] | [INFO] [stdout] 710 | Box::new(Expression::Block(self.parse_block()?)) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:728:31 [INFO] [stdout] | [INFO] [stdout] 728 | Some(Box::new(Expression::Block(self.parse_block()?))) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Expression` [INFO] [stdout] --> src/parser.rs:730:31 [INFO] [stdout] | [INFO] [stdout] 730 | Some(Box::new(Expression::If(self.parse_if()?))) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type or module `Expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Span` in this scope [INFO] [stdout] --> src/parser.rs:175:23 [INFO] [stdout] | [INFO] [stdout] 175 | fn span(&self) -> Span { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Span` in this scope [INFO] [stdout] --> src/parser.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | Span { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `TopLevel` in this scope [INFO] [stdout] --> src/parser.rs:184:50 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] 184 | fn parse_top_level(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Declaration` in this scope [INFO] [stdout] --> src/parser.rs:189:52 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 189 | fn parse_declaration(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Declaration` in this scope [INFO] [stdout] --> src/parser.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | Ok(Declaration { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Identifier` in this scope [INFO] [stdout] --> src/parser.rs:223:66 [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_identifier(&mut self, message: &str) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `crate::token::TokenType::Identifier`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_identifier(&mut self, message: &str) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Identifier` in this scope [INFO] [stdout] --> src/parser.rs:226:16 [INFO] [stdout] | [INFO] [stdout] 226 | Ok(Identifier { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this variant [INFO] [stdout] | [INFO] [stdout] 1 | use crate::token::TokenType::Identifier; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Name` in this scope [INFO] [stdout] --> src/parser.rs:235:45 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 235 | fn parse_name(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Name` in this scope [INFO] [stdout] --> src/parser.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 251 | Ok(Name { relative, segments }) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `BlockExpression` in this scope [INFO] [stdout] --> src/parser.rs:254:46 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 254 | fn parse_block(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BlockExpression` in this scope [INFO] [stdout] --> src/parser.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 271 | Ok(BlockExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Statement` in this scope [INFO] [stdout] --> src/parser.rs:278:50 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 278 | fn parse_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:306:61 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 306 | fn parse_expression_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Lambda` in this scope [INFO] [stdout] --> src/parser.rs:310:32 [INFO] [stdout] | [INFO] [stdout] 310 | Expression::Lambda(Lambda { body: Some(_), .. }) => {} [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:320:47 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 320 | fn parse_lambda(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Lambda` in this scope [INFO] [stdout] --> src/parser.rs:379:31 [INFO] [stdout] | [INFO] [stdout] 379 | Ok(Expression::Lambda(Lambda { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Parameter` in this scope [INFO] [stdout] --> src/parser.rs:387:55 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 387 | fn parse_parameters(&mut self) -> ParseResult> { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Parameter` in this scope [INFO] [stdout] --> src/parser.rs:401:41 [INFO] [stdout] | [INFO] [stdout] 401 | parameters.push(Parameter { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `WhileStatement` in this scope [INFO] [stdout] --> src/parser.rs:416:56 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 416 | fn parse_while_statement(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `WhileStatement` in this scope [INFO] [stdout] --> src/parser.rs:428:12 [INFO] [stdout] | [INFO] [stdout] 428 | Ok(WhileStatement { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `StructExpression` in this scope [INFO] [stdout] --> src/parser.rs:435:47 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 435 | fn parse_struct(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `StructExpression` in this scope [INFO] [stdout] --> src/parser.rs:455:16 [INFO] [stdout] | [INFO] [stdout] 455 | Ok(StructExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `StructMember` in this scope [INFO] [stdout] --> src/parser.rs:471:54 [INFO] [stdout] | [INFO] [stdout] 183 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 471 | fn parse_struct_member(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `StructMember` in this scope [INFO] [stdout] --> src/parser.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 475 | Ok(StructMember { identifier, type_ }) [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:495:51 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] 495 | fn parse_expression(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:499:55 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 499 | fn expr_prec_assignment(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BinaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:509:39 [INFO] [stdout] | [INFO] [stdout] 509 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:519:47 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 519 | fn expr_prec_or(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `LogicalExpression` in this scope [INFO] [stdout] --> src/parser.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | left = Expression::Logical(LogicalExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:533:48 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 533 | fn expr_prec_and(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `LogicalExpression` in this scope [INFO] [stdout] --> src/parser.rs:537:40 [INFO] [stdout] | [INFO] [stdout] 537 | left = Expression::Logical(LogicalExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:547:53 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 547 | fn expr_prec_equality(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BinaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:552:39 [INFO] [stdout] | [INFO] [stdout] 552 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:562:55 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 562 | fn expr_prec_comparison(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BinaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:571:39 [INFO] [stdout] | [INFO] [stdout] 571 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:581:49 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 581 | fn expr_prec_term(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BinaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:586:39 [INFO] [stdout] | [INFO] [stdout] 586 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:596:51 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 596 | fn expr_prec_factor(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `BinaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:601:39 [INFO] [stdout] | [INFO] [stdout] 601 | left = Expression::Binary(BinaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:611:50 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 611 | fn expr_prec_unary(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `UnaryExpression` in this scope [INFO] [stdout] --> src/parser.rs:615:34 [INFO] [stdout] | [INFO] [stdout] 615 | Ok(Expression::Unary(UnaryExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:625:49 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 625 | fn expr_prec_call(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `CallExpression` in this scope [INFO] [stdout] --> src/parser.rs:651:43 [INFO] [stdout] | [INFO] [stdout] 651 | expression = Expression::Call(CallExpression { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Expression` in this scope [INFO] [stdout] --> src/parser.rs:660:52 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 660 | fn expr_prec_primary(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `IfExpression` in this scope [INFO] [stdout] --> src/parser.rs:700:43 [INFO] [stdout] | [INFO] [stdout] 494 | impl Parser<'_> { [INFO] [stdout] | - help: you might be missing a type parameter: `` [INFO] [stdout] ... [INFO] [stdout] 700 | fn parse_if(&mut self) -> ParseResult { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `IfExpression` in this scope [INFO] [stdout] --> src/parser.rs:736:12 [INFO] [stdout] | [INFO] [stdout] 736 | Ok(IfExpression { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ast` on type `modules::Module` [INFO] [stdout] --> src/main.rs:24:32 [INFO] [stdout] | [INFO] [stdout] 24 | for ast in &module.ast.parts { [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `path`, `contents`, `tokens`, `code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/modules.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let (code, parser_messages) = Parser::new(&path, &contents, &tokens).parse(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ---------------------------------------------- this expression has type `std::result::Result<(ir::Code, messages::Messages), messages::Messages>` [INFO] [stdout] | | [INFO] [stdout] | expected enum `std::result::Result`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result<(ir::Code, messages::Messages), messages::Messages>` [INFO] [stdout] found tuple `(_, _)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 192 | let first = expect!( [INFO] [stdout] | _____________________- [INFO] [stdout] 193 | | self, [INFO] [stdout] 194 | | TokenType::Colon, [INFO] [stdout] 195 | | "help: the target of a declaration is always followed by a `:`", [INFO] [stdout] 196 | | true [INFO] [stdout] 197 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 192 | let first = expect!( [INFO] [stdout] | _____________________- [INFO] [stdout] 193 | | self, [INFO] [stdout] 194 | | TokenType::Colon, [INFO] [stdout] 195 | | "help: the target of a declaration is always followed by a `:`", [INFO] [stdout] 196 | | true [INFO] [stdout] 197 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 198 | let (_, mutable) = if let Some(x) = check_advance!(self, [INFO] [stdout] | _____________________________________________- [INFO] [stdout] 199 | | TokenType::Colon => false, [INFO] [stdout] 200 | | TokenType::Op(Operator::Equal) => true) [INFO] [stdout] | |___________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 224 | let token = expect!(self, TokenType::Identifier(_), message, false)?; [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 224 | let token = expect!(self, TokenType::Identifier(_), message, false)?; [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 237 | let relative = if let Some((_, ())) = check_advance!(self, TokenType::Dot => ()) { [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 247 | while let Some((_, ())) = check_advance!(self, TokenType::Dot => ()) { [INFO] [stdout] | ------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 255 | let open = expect!(self, TokenType::LeftBrace, "help: insert `{`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 255 | let open = expect!(self, TokenType::LeftBrace, "help: insert `{`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 270 | let close = expect!(self, TokenType::RightBrace, "help: insert `}`", true)?; [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 270 | let close = expect!(self, TokenType::RightBrace, "help: insert `}`", true)?; [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:281:17 [INFO] [stdout] | [INFO] [stdout] 279 | match (self.peek(), self.peek_offset(1)) { [INFO] [stdout] | ---------------------------------- this expression has type `(token::Token, token::Token)` [INFO] [stdout] 280 | ( [INFO] [stdout] 281 | / Some(Token { [INFO] [stdout] 282 | | kind: TokenType::Identifier(_), [INFO] [stdout] 283 | | .. [INFO] [stdout] 284 | | }), [INFO] [stdout] | |__________________^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 279 | match (self.peek(), self.peek_offset(1)) { [INFO] [stdout] | ---------------------------------- this expression has type `(token::Token, token::Token)` [INFO] [stdout] ... [INFO] [stdout] 285 | / Some(Token { [INFO] [stdout] 286 | | kind: TokenType::Colon, [INFO] [stdout] 287 | | .. [INFO] [stdout] 288 | | }), [INFO] [stdout] | |__________________^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:291:17 [INFO] [stdout] | [INFO] [stdout] 279 | match (self.peek(), self.peek_offset(1)) { [INFO] [stdout] | ---------------------------------- this expression has type `(token::Token, token::Token)` [INFO] [stdout] ... [INFO] [stdout] 291 | / Some(Token { [INFO] [stdout] 292 | | kind: TokenType::Keyword(Keyword::While), [INFO] [stdout] 293 | | .. [INFO] [stdout] 294 | | }), [INFO] [stdout] | |__________________^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:297:14 [INFO] [stdout] | [INFO] [stdout] 279 | match (self.peek(), self.peek_offset(1)) { [INFO] [stdout] | ---------------------------------- this expression has type `(token::Token, token::Token)` [INFO] [stdout] ... [INFO] [stdout] 297 | (Some(_), _) => Ok(Statement::Expression(self.parse_expression_statement()?)), [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 314 | expect!(self, TokenType::Semicolon, "help: insert `;`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 314 | expect!(self, TokenType::Semicolon, "help: insert `;`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 321 | let keyword = expect!( [INFO] [stdout] | _______________________- [INFO] [stdout] 322 | | self, [INFO] [stdout] 323 | | TokenType::LeftBracket, [INFO] [stdout] 324 | | &format!("function must start with `{}`", TokenType::LeftBracket), [INFO] [stdout] 325 | | false [INFO] [stdout] 326 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 321 | let keyword = expect!( [INFO] [stdout] | _______________________- [INFO] [stdout] 322 | | self, [INFO] [stdout] 323 | | TokenType::LeftBracket, [INFO] [stdout] 324 | | &format!("function must start with `{}`", TokenType::LeftBracket), [INFO] [stdout] 325 | | false [INFO] [stdout] 326 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:330:34 [INFO] [stdout] | [INFO] [stdout] 330 | let return_type = if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:355:27 [INFO] [stdout] | [INFO] [stdout] 355 | let body = if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 388 | expect!(self, TokenType::LeftParenthesis, "help: insert `(`", true)?; [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 388 | expect!(self, TokenType::LeftParenthesis, "help: insert `(`", true)?; [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:391:20 [INFO] [stdout] | [INFO] [stdout] 391 | if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 396 | expect!(self, TokenType::Comma, "help: insert `,`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 396 | expect!(self, TokenType::Comma, "help: insert `,`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 399 | expect!(self, TokenType::Colon, "help: insert `:`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 399 | expect!(self, TokenType::Colon, "help: insert `:`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 412 | expect!(self, TokenType::RightParenthesis, "help: insert `)`", true)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 412 | expect!(self, TokenType::RightParenthesis, "help: insert `)`", true)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 417 | let token = expect!( [INFO] [stdout] | _____________________- [INFO] [stdout] 418 | | self, [INFO] [stdout] 419 | | TokenType::Keyword(Keyword::While), [INFO] [stdout] 420 | | "expected `while`", [INFO] [stdout] 421 | | false [INFO] [stdout] 422 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 417 | let token = expect!( [INFO] [stdout] | _____________________- [INFO] [stdout] 418 | | self, [INFO] [stdout] 419 | | TokenType::Keyword(Keyword::While), [INFO] [stdout] 420 | | "expected `while`", [INFO] [stdout] 421 | | false [INFO] [stdout] 422 | | )?; [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 436 | if let Some((token, is_union)) = check_advance!(self, [INFO] [stdout] | __________________________________________- [INFO] [stdout] 437 | | TokenType::Keyword(Keyword::Struct) => false, [INFO] [stdout] 438 | | TokenType::Keyword(Keyword::Union) => true) [INFO] [stdout] | |_______________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 440 | expect!(self, TokenType::LeftBrace, "help: insert `{`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 440 | expect!(self, TokenType::LeftBrace, "help: insert `{`", true)?; [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:443:24 [INFO] [stdout] | [INFO] [stdout] 443 | if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 453 | expect!(self, TokenType::RightBrace, "help: insert `}`", true)?; [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 453 | expect!(self, TokenType::RightBrace, "help: insert `}`", true)?; [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 461 | / expect!( [INFO] [stdout] 462 | | self, [INFO] [stdout] 463 | | TokenType::Keyword(Keyword::Struct), [INFO] [stdout] 464 | | "expected struct or union", [INFO] [stdout] 465 | | true [INFO] [stdout] 466 | | )?; [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 461 | / expect!( [INFO] [stdout] 462 | | self, [INFO] [stdout] 463 | | TokenType::Keyword(Keyword::Struct), [INFO] [stdout] 464 | | "expected struct or union", [INFO] [stdout] 465 | | true [INFO] [stdout] 466 | | )?; [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 473 | let colon = expect!(self, TokenType::Colon, "help: insert `:`", true); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 473 | let colon = expect!(self, TokenType::Colon, "help: insert `:`", true); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 501 | if let Some((token, operator)) = check_advance!( self, [INFO] [stdout] | __________________________________________- [INFO] [stdout] 502 | | TokenType::Op(Operator::Equal) => BinaryOperator::Equal, [INFO] [stdout] 503 | | TokenType::OpEq(Operator::Plus) => BinaryOperator::PlusEqual, [INFO] [stdout] 504 | | TokenType::OpEq(Operator::Minus) => BinaryOperator::MinusEqual, [INFO] [stdout] 505 | | TokenType::OpEq(Operator::Multiply) => BinaryOperator::MultiplyEqual, [INFO] [stdout] 506 | | TokenType::OpEq(Operator::Divide) => BinaryOperator::DivideEqual) [INFO] [stdout] | |_____________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 521 | while let Some((token, is_and)) = check_advance!(self, TokenType::LogicalOr => false) { [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 535 | while let Some((token, is_and)) = check_advance!(self, TokenType::LogicalAnd => true) { [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | ...et Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 549 | ...e let Some((token, operator)) = check_advance!(self, TokenType::OpEq(Operator::Equal) => BinaryOperator::EqualEqual, TokenType::OpEq(Operator::Not) => BinaryOperator::NotEqual) [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 564 | while let Some((token, operator)) = check_advance!(self, [INFO] [stdout] | _____________________________________________- [INFO] [stdout] 565 | | TokenType::Op(Operator::Less) => BinaryOperator::Less, [INFO] [stdout] 566 | | TokenType::OpEq(Operator::Less) => BinaryOperator::LessEqual, [INFO] [stdout] 567 | | TokenType::Op(Operator::Greater) => BinaryOperator::Greater, [INFO] [stdout] 568 | | TokenType::OpEq(Operator::Greater) => BinaryOperator::GreaterEqual) [INFO] [stdout] | |_______________________________________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | ...et Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 583 | ...e let Some((token, operator)) = check_advance!(self, TokenType::Op(Operator::Plus) => BinaryOperator::Plus, TokenType::Op(Operator::Minus) => BinaryOperator::Minus) [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | ...et Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 598 | ...e let Some((token, operator)) = check_advance!(self, TokenType::Op(Operator::Divide) => BinaryOperator::Divide, TokenType::Op(Operator::Multiply) => BinaryOperator::Multiply) [INFO] [stdout] | ---------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | ...et Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 612 | ...et Some((token, operator)) = check_advance!(self, TokenType::Op(Operator::Minus) => UnaryOperator::Minus, TokenType::Op(Operator::Not) => UnaryOperator::Not) [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Some(t) = $self_.peek() { [INFO] [stdout] | ^^^^^^^ ------------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 628 | while let Some((_token, ())) = check_advance!(self, TokenType::LeftParenthesis => ()) { [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:632:24 [INFO] [stdout] | [INFO] [stdout] 632 | if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 637 | expect!(self, TokenType::Comma, "help: insert `,`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 637 | expect!(self, TokenType::Comma, "help: insert `,`", true)?; [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:661:16 [INFO] [stdout] | [INFO] [stdout] 661 | if let Some(token) = self.peek() { [INFO] [stdout] | ^^^^^^^^^^^ ----------- this expression has type `token::Token` [INFO] [stdout] | | [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 672 | expect!(self, TokenType::RightParenthesis, "help: insert `,`", true)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 672 | expect!(self, TokenType::RightParenthesis, "help: insert `,`", true)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] 131 | Some(t) => match t.kind { [INFO] [stdout] | ^^^^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 701 | let if_token = expect!(self, TokenType::Keyword(Keyword::If), "expected if", false)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 130 | match $self_.peek() { [INFO] [stdout] | ------------- this expression has type `token::Token` [INFO] [stdout] ... [INFO] [stdout] 149 | None => { [INFO] [stdout] | ^^^^ expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] ... [INFO] [stdout] 701 | let if_token = expect!(self, TokenType::Keyword(Keyword::If), "expected if", false)?; [INFO] [stdout] | -------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:705:38 [INFO] [stdout] | [INFO] [stdout] 705 | let then_expression = if let Some(Token { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 706 | | kind: TokenType::LeftBrace, [INFO] [stdout] 707 | | .. [INFO] [stdout] 708 | | }) = self.peek() [INFO] [stdout] | | ^ ----------- this expression has type `token::Token` [INFO] [stdout] | |__________| [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:716:38 [INFO] [stdout] | [INFO] [stdout] 716 | let else_expression = if let Some(Token { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 717 | | kind: TokenType::Keyword(Keyword::Else), [INFO] [stdout] 718 | | .. [INFO] [stdout] 719 | | }) = self.peek() [INFO] [stdout] | | ^ ----------- this expression has type `token::Token` [INFO] [stdout] | |__________| [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/parser.rs:723:20 [INFO] [stdout] | [INFO] [stdout] 723 | if let Some(Token { [INFO] [stdout] | ____________________^ [INFO] [stdout] 724 | | kind: TokenType::LeftBrace, [INFO] [stdout] 725 | | .. [INFO] [stdout] 726 | | }) = self.peek() [INFO] [stdout] | | ^ ----------- this expression has type `token::Token` [INFO] [stdout] | |______________| [INFO] [stdout] | expected struct `token::Token`, found enum `std::option::Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `token::Token` [INFO] [stdout] found enum `std::option::Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 158 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0412, E0422, E0433, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ro-compiler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "02aee56a4e6875a7cdddc304af7b2690721fc7e3a3e8a438eb0dcb110275fe03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02aee56a4e6875a7cdddc304af7b2690721fc7e3a3e8a438eb0dcb110275fe03", kill_on_drop: false }` [INFO] [stdout] 02aee56a4e6875a7cdddc304af7b2690721fc7e3a3e8a438eb0dcb110275fe03