[INFO] cloning repository https://github.com/andreymgn/pascal-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andreymgn/pascal-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreymgn%2Fpascal-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreymgn%2Fpascal-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7081fd980c3fd35581a64892fd99d420b7c28f03
[INFO] testing andreymgn/pascal-compiler against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreymgn%2Fpascal-compiler" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreymgn/pascal-compiler on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/andreymgn/pascal-compiler
[INFO] finished tweaking git repo https://github.com/andreymgn/pascal-compiler
[INFO] tweaked toml for git repo https://github.com/andreymgn/pascal-compiler written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/andreymgn/pascal-compiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lalrpop-util v0.17.0
[INFO] [stderr]   Downloaded llvm-sys v60.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 416b54ccc0a78e3411dd5ec991600b7c87f0659070a860104f038c34eb628f25
[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" "416b54ccc0a78e3411dd5ec991600b7c87f0659070a860104f038c34eb628f25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "416b54ccc0a78e3411dd5ec991600b7c87f0659070a860104f038c34eb628f25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "416b54ccc0a78e3411dd5ec991600b7c87f0659070a860104f038c34eb628f25", kill_on_drop: false }`
[INFO] [stdout] 416b54ccc0a78e3411dd5ec991600b7c87f0659070a860104f038c34eb628f25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13bf325d3b715adddfb73cba2349b16f39ddd961f9e7a6cc21edab3a7f50e5f4
[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" "13bf325d3b715adddfb73cba2349b16f39ddd961f9e7a6cc21edab3a7f50e5f4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]    Compiling proc-macro2 v0.4.29
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling string_cache_shared v0.3.0
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling bit-vec v0.5.1
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.3
[INFO] [stderr]    Compiling diff v0.1.11
[INFO] [stderr]    Compiling bitflags v1.0.5
[INFO] [stderr]    Compiling lalrpop-util v0.16.3
[INFO] [stderr]    Compiling lalrpop-util v0.17.0
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling block-padding v0.1.4
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling bit-set v0.5.1
[INFO] [stderr]    Compiling ascii-canvas v1.0.0
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling ena v0.11.0
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling string_cache_codegen v0.4.2
[INFO] [stderr]    Compiling string_cache v0.7.3
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling strsim v0.9.1
[INFO] [stderr]    Compiling llvm-sys v60.4.0
[INFO] [stderr]    Compiling docopt v1.1.0
[INFO] [stderr]    Compiling lalrpop v0.16.3
[INFO] [stderr]    Compiling pascal-kursach v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:13511:5
[INFO] [stdout]       |
[INFO] [stdout] 13511 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:14827:5
[INFO] [stdout]       |
[INFO] [stdout] 14827 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:15519:5
[INFO] [stdout]       |
[INFO] [stdout] 15519 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:15560:5
[INFO] [stdout]       |
[INFO] [stdout] 15560 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:15568:5
[INFO] [stdout]       |
[INFO] [stdout] 15568 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:15592:5
[INFO] [stdout]       |
[INFO] [stdout] 15592 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:15600:5
[INFO] [stdout]       |
[INFO] [stdout] 15600 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16375:5
[INFO] [stdout]       |
[INFO] [stdout] 16375 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16435:5
[INFO] [stdout]       |
[INFO] [stdout] 16435 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16461:5
[INFO] [stdout]       |
[INFO] [stdout] 16461 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16487:5
[INFO] [stdout]       |
[INFO] [stdout] 16487 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16513:5
[INFO] [stdout]       |
[INFO] [stdout] 16513 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16539:5
[INFO] [stdout]       |
[INFO] [stdout] 16539 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16565:5
[INFO] [stdout]       |
[INFO] [stdout] 16565 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16591:5
[INFO] [stdout]       |
[INFO] [stdout] 16591 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16617:5
[INFO] [stdout]       |
[INFO] [stdout] 16617 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16643:5
[INFO] [stdout]       |
[INFO] [stdout] 16643 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16669:5
[INFO] [stdout]       |
[INFO] [stdout] 16669 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16695:5
[INFO] [stdout]       |
[INFO] [stdout] 16695 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16721:5
[INFO] [stdout]       |
[INFO] [stdout] 16721 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16747:5
[INFO] [stdout]       |
[INFO] [stdout] 16747 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-85c2cb6c1bcfcf6a/out/pascal.rs:16773:5
[INFO] [stdout]       |
[INFO] [stdout] 16773 |     (__0)
[INFO] [stdout]       |     ^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/codegen.rs:76:78
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let printf = LLVMAddFunction(module, CString::new("printf").unwrap().as_ptr(), printf_typ);
[INFO] [stdout]    |                                              ------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:124:67
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     CString::new(constant.name.as_str()).unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:141:67
[INFO] [stdout]     |
[INFO] [stdout] 141 |                     CString::new(constant.name.as_str()).unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:179:71
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         CString::new(constant.name.as_str()).unwrap().as_ptr(),
[INFO] [stdout]     |                         --------------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:243:54
[INFO] [stdout]     |
[INFO] [stdout] 243 |             CString::new(proc.name.clone()).unwrap().as_ptr(),
[INFO] [stdout]     |             ---------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:264:45
[INFO] [stdout]     |
[INFO] [stdout] 264 |             CString::new(filename).unwrap().as_ptr(),
[INFO] [stdout]     |             ------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:277:43
[INFO] [stdout]     |
[INFO] [stdout] 277 |             CString::new("main").unwrap().as_ptr(),
[INFO] [stdout]     |             ----------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:281:82
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let bb_entry = LLVMAppendBasicBlock(func, CString::new("entry").unwrap().as_ptr());
[INFO] [stdout]     |                                                   ------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:306:62
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     CString::new(var.name.as_str()).unwrap().as_ptr(),
[INFO] [stdout]     |                     ---------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:352:70
[INFO] [stdout]     |
[INFO] [stdout] 352 | ...                   CString::new(var.name.as_str()).unwrap().as_ptr(),
[INFO] [stdout]     |                       ---------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:444:88
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let bb_then = LLVMAppendBasicBlock(func, CString::new("then").unwrap().as_ptr());
[INFO] [stdout]     |                                                          ----------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:445:88
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let bb_else = LLVMAppendBasicBlock(func, CString::new("else").unwrap().as_ptr());
[INFO] [stdout]     |                                                          ----------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:446:90
[INFO] [stdout]     |
[INFO] [stdout] 446 |                 let bb_merge = LLVMAppendBasicBlock(func, CString::new("merge").unwrap().as_ptr());
[INFO] [stdout]     |                                                           ------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:475:88
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 let bb_then = LLVMAppendBasicBlock(func, CString::new("then").unwrap().as_ptr());
[INFO] [stdout]     |                                                          ----------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:476:88
[INFO] [stdout]     |
[INFO] [stdout] 476 |                 let bb_else = LLVMAppendBasicBlock(func, CString::new("else").unwrap().as_ptr());
[INFO] [stdout]     |                                                          ----------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:477:90
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 let bb_merge = LLVMAppendBasicBlock(func, CString::new("merge").unwrap().as_ptr());
[INFO] [stdout]     |                                                           ------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:532:46
[INFO] [stdout]     |
[INFO] [stdout] 532 |                 CString::new("eql").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:539:45
[INFO] [stdout]     |
[INFO] [stdout] 539 |                 CString::new("gt").unwrap().as_ptr(),
[INFO] [stdout]     |                 --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:546:45
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 CString::new("lt").unwrap().as_ptr(),
[INFO] [stdout]     |                 --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:579:46
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 CString::new("add").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:585:46
[INFO] [stdout]     |
[INFO] [stdout] 585 |                 CString::new("sub").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:591:45
[INFO] [stdout]     |
[INFO] [stdout] 591 |                 CString::new("or").unwrap().as_ptr(),
[INFO] [stdout]     |                 --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:623:46
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 CString::new("mul").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:629:46
[INFO] [stdout]     |
[INFO] [stdout] 629 |                 CString::new("div").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:635:46
[INFO] [stdout]     |
[INFO] [stdout] 635 |                 CString::new("and").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:658:46
[INFO] [stdout]     |
[INFO] [stdout] 658 |                 CString::new("neg").unwrap().as_ptr(),
[INFO] [stdout]     |                 ---------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:718:55
[INFO] [stdout]     |
[INFO] [stdout] 718 |                     CString::new("arrayidx").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:756:85
[INFO] [stdout]     |
[INFO] [stdout] 756 |         let bb_init = LLVMAppendBasicBlock(func, CString::new("loop_init").unwrap().as_ptr());
[INFO] [stdout]     |                                                  ---------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:757:85
[INFO] [stdout]     |
[INFO] [stdout] 757 |         let bb_test = LLVMAppendBasicBlock(func, CString::new("loop_test").unwrap().as_ptr());
[INFO] [stdout]     |                                                  ---------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:758:85
[INFO] [stdout]     |
[INFO] [stdout] 758 |         let bb_body = LLVMAppendBasicBlock(func, CString::new("loop_body").unwrap().as_ptr());
[INFO] [stdout]     |                                                  ---------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:759:85
[INFO] [stdout]     |
[INFO] [stdout] 759 |         let bb_step = LLVMAppendBasicBlock(func, CString::new("loop_step").unwrap().as_ptr());
[INFO] [stdout]     |                                                  ---------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:760:85
[INFO] [stdout]     |
[INFO] [stdout] 760 |         let bb_exit = LLVMAppendBasicBlock(func, CString::new("loop_exit").unwrap().as_ptr());
[INFO] [stdout]     |                                                  ---------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:786:55
[INFO] [stdout]     |
[INFO] [stdout] 786 |             CString::new("loop_bound_check").unwrap().as_ptr(),
[INFO] [stdout]     |             ----------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:972:61
[INFO] [stdout]     |
[INFO] [stdout] 972 |                         CString::new("float_cast").unwrap().as_ptr(),
[INFO] [stdout]     |                         ----------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:981:59
[INFO] [stdout]     |
[INFO] [stdout] 981 |                         CString::new("int_cast").unwrap().as_ptr(),
[INFO] [stdout]     |                         --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/codegen.rs:995:54
[INFO] [stdout]     |
[INFO] [stdout] 995 |                 CString::new("cast_format").unwrap().as_ptr(),
[INFO] [stdout]     |                 ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]     --> src/codegen.rs:1018:54
[INFO] [stdout]      |
[INFO] [stdout] 1018 |                     CString::new("to_bool").unwrap().as_ptr(),
[INFO] [stdout]      |                     -------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]      |
[INFO] [stdout]      = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]      = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]     --> src/codegen.rs:1026:50
[INFO] [stdout]      |
[INFO] [stdout] 1026 |                 CString::new("to_bool").unwrap().as_ptr(),
[INFO] [stdout]      |                 -------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]      |
[INFO] [stdout]      = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]      = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]     --> src/codegen.rs:1034:82
[INFO] [stdout]      |
[INFO] [stdout] 1034 |                 LLVMBuildLoad(self.builder, v, CString::new("load_ptr").unwrap().as_ptr())
[INFO] [stdout]      |                                                --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]      |
[INFO] [stdout]      = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]      = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.pascal_kursach.80bbf3b4-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7.4dsofloyw3mfi503.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/build/llvm-sys-716459c3568f1444/out" "-L" "/usr/lib/llvm-10/lib" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libregex-1b974308cbda47a1.rlib" "/opt/rustwide/target/debug/deps/libutf8_ranges-70392fe0efbd5053.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-531aa01135dbef71.rlib" "/opt/rustwide/target/debug/deps/libucd_util-85eb10ee6839e3d1.rlib" "/opt/rustwide/target/debug/deps/libthread_local-6f73fab3403614ec.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-98bfd9677d3b8244.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-236ca569fdd61b66.rlib" "/opt/rustwide/target/debug/deps/libmemchr-57a7fb8798790c91.rlib" "/opt/rustwide/target/debug/deps/liblalrpop_util-b516c8c226f8055c.rlib" "/opt/rustwide/target/debug/deps/libclap-2b78336c43ea2fb3.rlib" "/opt/rustwide/target/debug/deps/libyaml_rust-2b9442fbdf5f9489.rlib" "/opt/rustwide/target/debug/deps/libvec_map-722fd97eccaa23d7.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-c96158576a565c34.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-ace54326ee80f994.rlib" "/opt/rustwide/target/debug/deps/libstrsim-4659ff817c3bab94.rlib" "/opt/rustwide/target/debug/deps/libbitflags-bd364f88edfecf24.rlib" "/opt/rustwide/target/debug/deps/libatty-1d1a04d1828158da.rlib" "/opt/rustwide/target/debug/deps/libansi_term-ab5734da97e53ff9.rlib" "/opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib" "/opt/rustwide/target/debug/deps/liblibc-84249b609a437954.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-197d933f09d9a590.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-46a006cddfd334f0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-5b9870310e470b38.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-260022ba8f1ab4ee.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-71377435a799394f.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-658ee5924fde57cd.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-9e8627da6bd1b94a.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-19fdaac49f59be84.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-cb00e2691ea45905.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-50f6726defae5ae1.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-2afc16311deea26e.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-bb5cb0fe086ee8cf.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-896053247b5dfd0b.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-735e1f2ac3cf23be.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9dfb6622644c732c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-beea7d9617fe25c5.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-8ef7dd43fc671f88.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a9a3b2ad67977f47.rlib" "-Wl,-Bdynamic" "-lz" "-lrt" "-ldl" "-ltinfo" "-lpthread" "-lm" "-lstdc++" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2021-08-01-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/pascal_kursach-a5e95398e9ac29c7" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o): in function `llvm::Interpreter::callExternalFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>)':
[INFO] [stdout]           (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0x93f): undefined reference to `ffi_type_void'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0x953): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0x9aa): undefined reference to `ffi_type_double'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0x9d1): undefined reference to `ffi_type_pointer'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xc6b): undefined reference to `ffi_type_void'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xc85): undefined reference to `ffi_type_double'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xcab): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xcb4): undefined reference to `ffi_type_pointer'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xcd6): undefined reference to `ffi_prep_cif'
[INFO] [stdout]           /usr/bin/ld: (.text._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE+0xdbc): undefined reference to `ffi_call'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x0): undefined reference to `ffi_type_sint8'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x8): undefined reference to `ffi_type_sint16'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x10): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x18): undefined reference to `ffi_type_sint32'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x20): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x28): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x30): undefined reference to `ffi_type_float'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libllvm_sys-3a6ef5b7655771d4.rlib(ExternalFunctions.cpp.o):(.data.rel.ro..Lswitch.table._ZN4llvm11Interpreter20callExternalFunctionEPNS_8FunctionENS_8ArrayRefINS_12GenericValueEEE.33+0x38): undefined reference to `ffi_type_sint64'
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout]   = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
[INFO] [stdout]   = note: use the `-l` flag to specify native libraries to link
[INFO] [stdout]   = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pascal-kursach` due to 2 previous errors; 61 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "13bf325d3b715adddfb73cba2349b16f39ddd961f9e7a6cc21edab3a7f50e5f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13bf325d3b715adddfb73cba2349b16f39ddd961f9e7a6cc21edab3a7f50e5f4", kill_on_drop: false }`
[INFO] [stdout] 13bf325d3b715adddfb73cba2349b16f39ddd961f9e7a6cc21edab3a7f50e5f4
