[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 master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLimeth%2Fpflc" "/workspace/builds/worker-9/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Limeth/pflc on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/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-9/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" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] fe2b71ff7bca27dce2d7642f03ada8ea6607c3b1bcc60ef0f4eee877884f6200
[INFO] running `"docker" "start" "-a" "fe2b71ff7bca27dce2d7642f03ada8ea6607c3b1bcc60ef0f4eee877884f6200"`
[INFO] [stderr]     Checking memchr v2.0.1
[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<CompleteStr, lexer::Variable>,
[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<CompleteStr, lexer::Variable>,
[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<CompleteStr, lexer::Variable>,
[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<CompleteStr, lexer::Variable>,
[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[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] help: you might be missing a type parameter
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub struct FnCall<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] help: you might be missing a type parameter
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub struct FnCall<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<Variable>,
[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 `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: 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] help: you might be missing a type parameter
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub struct FnCall<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] help: you might be missing a type parameter
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub struct FnCall<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<Variable>,
[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[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] 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] 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<nom::types::CompleteStr<'_>>>`
[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<nom::types::CompleteStr<'_>>>`
[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<CompleteStr, lexer::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<nom::types::CompleteStr<'_>, u32>>`
[INFO] [stderr]                found enum `std::result::Result<(nom::types::CompleteStr<'_>, std::vec::Vec<_>), nom::Err<nom::types::CompleteStr<'_>, _>>`
[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 16 previous errors
[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] [stderr] warning: build failed, waiting for other jobs to finish...
[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<CompleteStr, lexer::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<nom::types::CompleteStr<'_>, u32>>`
[INFO] [stderr]                found enum `std::result::Result<(nom::types::CompleteStr<'_>, std::vec::Vec<_>), nom::Err<nom::types::CompleteStr<'_>, _>>`
[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 16 previous errors
[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" "fe2b71ff7bca27dce2d7642f03ada8ea6607c3b1bcc60ef0f4eee877884f6200"`
[INFO] running `"docker" "rm" "-f" "fe2b71ff7bca27dce2d7642f03ada8ea6607c3b1bcc60ef0f4eee877884f6200"`
[INFO] [stdout] fe2b71ff7bca27dce2d7642f03ada8ea6607c3b1bcc60ef0f4eee877884f6200
