[INFO] updating cached repository https://github.com/Limeth/pflc [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e4c72b1888a7deb2c150fcba240e9377eca3fdee [INFO] checking Limeth/pflc against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLimeth%2Fpflc" "/workspace/builds/worker-10/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Limeth/pflc on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/Limeth/pflc [INFO] finished tweaking git repo https://github.com/Limeth/pflc [INFO] tweaked toml for git repo https://github.com/Limeth/pflc written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate git repo https://github.com/Limeth/pflc already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] dfb7fd5b5d6f956d4432f9735c113fb22efe403e5a19fdf84b8f04ac530ff7a8 [INFO] running `"docker" "start" "-a" "dfb7fd5b5d6f956d4432f9735c113fb22efe403e5a19fdf84b8f04ac530ff7a8"` [INFO] [stderr] Checking libc v0.2.36 [INFO] [stderr] Checking ansi_term v0.10.2 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking atty v0.2.6 [INFO] [stderr] Checking clap v2.30.0 [INFO] [stderr] Checking nom v4.0.0-alpha2 [INFO] [stderr] Checking pflc v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/parser.rs:273:7 [INFO] [stderr] | [INFO] [stderr] 273 | named!(parse_expr, [INFO] [stderr] | _______^ [INFO] [stderr] 274 | | do_parse!( [INFO] [stderr] 275 | | // TODO [INFO] [stderr] 276 | | ) [INFO] [stderr] 277 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 273 | named!{parse_expr, [INFO] [stderr] 274 | do_parse!( [INFO] [stderr] 275 | // TODO [INFO] [stderr] 276 | ) [INFO] [stderr] 277 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 277 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: macros that expand to items must be delimited with braces or followed by a semicolon [INFO] [stderr] --> src/parser.rs:273:7 [INFO] [stderr] | [INFO] [stderr] 273 | named!(parse_expr, [INFO] [stderr] | _______^ [INFO] [stderr] 274 | | do_parse!( [INFO] [stderr] 275 | | // TODO [INFO] [stderr] 276 | | ) [INFO] [stderr] 277 | | ) [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] help: change the delimiters to curly braces [INFO] [stderr] | [INFO] [stderr] 273 | named!{parse_expr, [INFO] [stderr] 274 | do_parse!( [INFO] [stderr] 275 | // TODO [INFO] [stderr] 276 | ) [INFO] [stderr] 277 | } [INFO] [stderr] | [INFO] [stderr] help: add a semicolon [INFO] [stderr] | [INFO] [stderr] 277 | ); [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] error: unexpected end of macro invocation [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nom-4.0.0-alpha2/src/sequence.rs:411:27 [INFO] [stderr] | [INFO] [stderr] 411 | do_parse!(__impl $i, $($rest)*) [INFO] [stderr] | ^ missing tokens in macro arguments [INFO] [stderr] [INFO] [stderr] error: unexpected end of macro invocation [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nom-4.0.0-alpha2/src/sequence.rs:411:27 [INFO] [stderr] | [INFO] [stderr] 411 | do_parse!(__impl $i, $($rest)*) [INFO] [stderr] | ^ missing tokens in macro arguments [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:95:24 [INFO] [stderr] | [INFO] [stderr] 95 | pub args: Vec<(Ident, Ident)>, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | pub args: Vec<(Ident, Ident)>, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:95:24 [INFO] [stderr] | [INFO] [stderr] 95 | pub args: Vec<(Ident, Ident)>, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | pub args: Vec<(Ident, Ident)>, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | Variable(Ident), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0423]: expected function, tuple struct or tuple variant, found struct `lexer::FnDecl` [INFO] [stderr] --> src/parser.rs:316:21 [INFO] [stderr] | [INFO] [stderr] 316 | >> (lexer::FnDecl(x)) [INFO] [stderr] | ^^^^^^^^^^^^^ did you mean `lexer::FnDecl { /* fields */ }`? [INFO] [stderr] | [INFO] [stderr] ::: src/ast.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / pub struct FnDecl { [INFO] [stderr] 108 | | pub ident: Ident, [INFO] [stderr] 109 | | pub args: Vec, [INFO] [stderr] 110 | | pub return_ty: Type, [INFO] [stderr] 111 | | pub body: Expr, [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____- `lexer::FnDecl` defined here [INFO] [stderr] | [INFO] [stderr] help: possible better candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use ast::lexer::Item::FnDecl; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | Variable(Ident), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Ident` in this scope [INFO] [stderr] --> src/ast.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | pub ident: Ident, [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 19 | use ast::Ident; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0423]: expected function, tuple struct or tuple variant, found struct `lexer::FnDecl` [INFO] [stderr] --> src/parser.rs:316:21 [INFO] [stderr] | [INFO] [stderr] 316 | >> (lexer::FnDecl(x)) [INFO] [stderr] | ^^^^^^^^^^^^^ did you mean `lexer::FnDecl { /* fields */ }`? [INFO] [stderr] | [INFO] [stderr] ::: src/ast.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | / pub struct FnDecl { [INFO] [stderr] 108 | | pub ident: Ident, [INFO] [stderr] 109 | | pub args: Vec, [INFO] [stderr] 110 | | pub return_ty: Type, [INFO] [stderr] 111 | | pub body: Expr, [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____- `lexer::FnDecl` defined here [INFO] [stderr] | [INFO] [stderr] help: possible better candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use ast::lexer::Item::FnDecl; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variant `i32` should have an upper camel case name [INFO] [stderr] --> src/ast.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | i32(i32), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `i32` should have an upper camel case name [INFO] [stderr] --> src/ast.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | i32(i32), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `f32` should have an upper camel case name [INFO] [stderr] --> src/ast.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | f32(f32), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stderr] [INFO] [stderr] warning: variant `f32` should have an upper camel case name [INFO] [stderr] --> src/ast.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | f32(f32), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::simple_errors::Context` [INFO] [stderr] --> src/parser.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::simple_errors::Context; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::Err::Error` [INFO] [stderr] --> src/parser.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use nom::Err::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::ErrorKind` [INFO] [stderr] --> src/parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use nom::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/parser.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / macro_rules! check_parser { [INFO] [stderr] 9 | | ($parser_fn:ident; $input:expr => $rest:expr, $output:expr) => { [INFO] [stderr] 10 | | assert_eq!($parser_fn(CompleteStr($input)), Ok((CompleteStr($rest), $output))); [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_macros)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/parser.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / macro_rules! check_parser_err { [INFO] [stderr] 15 | | ($parser_fn:ident; $input:expr => $rest:expr, $kind:expr) => { [INFO] [stderr] 16 | | if let Err(Error(Context::Code(code, kind))) = $parser_fn(CompleteStr($input)) { [INFO] [stderr] 17 | | assert_eq!(code, CompleteStr($rest)); [INFO] [stderr] ... | [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | println!("{:?}", parser::parse(source)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&str`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&source` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | println!("{:?}", parser::parse(source)); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&str`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&source` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 322 | pub fn parse(source: &str) -> lexer::Root { [INFO] [stderr] | ----------- expected `ast::lexer::Root` because of return type [INFO] [stderr] 323 | parse_root(CompleteStr(source)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `ast::lexer::Root`, found enum `std::result::Result` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `ast::lexer::Root` [INFO] [stderr] found enum `std::result::Result<(nom::types::CompleteStr<'_>, ast::lexer::Root), nom::Err>>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 322 | pub fn parse(source: &str) -> lexer::Root { [INFO] [stderr] | ----------- expected `ast::lexer::Root` because of return type [INFO] [stderr] 323 | parse_root(CompleteStr(source)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `ast::lexer::Root`, found enum `std::result::Result` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `ast::lexer::Root` [INFO] [stderr] found enum `std::result::Result<(nom::types::CompleteStr<'_>, ast::lexer::Root), nom::Err>>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | body, [INFO] [stderr] | ^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected enum `ast::lexer::Expr`, found struct `ast::lexer::Variable` [INFO] [stderr] | help: try using a variant of the expected enum: `ast::lexer::Expr::Variable(body)` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:311:1 [INFO] [stderr] | [INFO] [stderr] 311 | / named!(parse_root, [INFO] [stderr] 312 | | many0!( [INFO] [stderr] 313 | | alt!( [INFO] [stderr] 314 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 319 | | ) [INFO] [stderr] 320 | | ); [INFO] [stderr] | |__^ expected struct `ast::lexer::Root`, found struct `std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result<(nom::types::CompleteStr<'_>, ast::lexer::Root), nom::Err, u32>>` [INFO] [stderr] found enum `std::result::Result<(nom::types::CompleteStr<'_>, std::vec::Vec<_>), nom::Err, _>>` [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors; 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0412, E0423. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | body, [INFO] [stderr] | ^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected enum `ast::lexer::Expr`, found struct `ast::lexer::Variable` [INFO] [stderr] | help: try using a variant of the expected enum: `ast::lexer::Expr::Variable(body)` [INFO] [stderr] [INFO] [stderr] error: could not compile `pflc`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parser.rs:311:1 [INFO] [stderr] | [INFO] [stderr] 311 | / named!(parse_root, [INFO] [stderr] 312 | | many0!( [INFO] [stderr] 313 | | alt!( [INFO] [stderr] 314 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 319 | | ) [INFO] [stderr] 320 | | ); [INFO] [stderr] | |__^ expected struct `ast::lexer::Root`, found struct `std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result<(nom::types::CompleteStr<'_>, ast::lexer::Root), nom::Err, u32>>` [INFO] [stderr] found enum `std::result::Result<(nom::types::CompleteStr<'_>, std::vec::Vec<_>), nom::Err, _>>` [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0412, E0423. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error: could not compile `pflc`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "dfb7fd5b5d6f956d4432f9735c113fb22efe403e5a19fdf84b8f04ac530ff7a8"` [INFO] running `"docker" "rm" "-f" "dfb7fd5b5d6f956d4432f9735c113fb22efe403e5a19fdf84b8f04ac530ff7a8"` [INFO] [stdout] dfb7fd5b5d6f956d4432f9735c113fb22efe403e5a19fdf84b8f04ac530ff7a8