[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] checking andreymgn/pascal-compiler against nightly-2024-02-05 for check-cfg
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreymgn%2Fpascal-compiler" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreymgn/pascal-compiler on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "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-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lalrpop-util v0.16.3
[INFO] [stderr]   Downloaded string_cache v0.7.3
[INFO] [stderr]   Downloaded bitflags v1.0.5
[INFO] [stderr]   Downloaded proc-macro2 v0.4.29
[INFO] [stderr]   Downloaded ena v0.11.0
[INFO] [stderr]   Downloaded strsim v0.9.1
[INFO] [stderr]   Downloaded syn v0.15.33
[INFO] [stderr]   Downloaded lalrpop v0.16.3
[INFO] [stderr]   Downloaded libc v0.2.54
[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-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d3c43e1f46174fc18519157a8fc3d17f6822b3462af17d3437aa9bfa67959e92
[INFO] running `Command { std: "docker" "start" "-a" "d3c43e1f46174fc18519157a8fc3d17f6822b3462af17d3437aa9bfa67959e92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d3c43e1f46174fc18519157a8fc3d17f6822b3462af17d3437aa9bfa67959e92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3c43e1f46174fc18519157a8fc3d17f6822b3462af17d3437aa9bfa67959e92", kill_on_drop: false }`
[INFO] [stdout] d3c43e1f46174fc18519157a8fc3d17f6822b3462af17d3437aa9bfa67959e92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf70d1adadd420b0e292271989b4a03bedff2d09ff08a94c9c1443c79baaef0a
[INFO] running `Command { std: "docker" "start" "-a" "bf70d1adadd420b0e292271989b4a03bedff2d09ff08a94c9c1443c79baaef0a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]    Compiling rand_core v0.4.0
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.29
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]    Compiling string_cache_shared v0.3.0
[INFO] [stderr]    Compiling rawpointer v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling block-padding v0.1.4
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling bit-vec v0.5.1
[INFO] [stderr]    Compiling opaque-debug v0.2.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.3
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling ena v0.11.0
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling ascii-canvas v1.0.0
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling bit-set v0.5.1
[INFO] [stderr]    Compiling lalrpop-util v0.16.3
[INFO] [stderr]    Compiling bitflags v1.0.5
[INFO] [stderr]    Compiling diff v0.1.11
[INFO] [stderr]    Compiling generic-array v0.12.0
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]     Checking lalrpop-util v0.17.0
[INFO] [stderr]    Compiling string_cache_codegen v0.4.2
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]    Compiling string_cache v0.7.3
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]    Compiling llvm-sys v60.4.0
[INFO] [stderr]    Compiling strsim v0.9.1
[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-fdc6f3fb88228a99/out/pascal.rs:13511:5
[INFO] [stdout]       |
[INFO] [stdout] 13511 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 13511 -     (__0)
[INFO] [stdout] 13511 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:14827:5
[INFO] [stdout]       |
[INFO] [stdout] 14827 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 14827 -     (__0)
[INFO] [stdout] 14827 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15519:5
[INFO] [stdout]       |
[INFO] [stdout] 15519 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15519 -     (__0)
[INFO] [stdout] 15519 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15560:5
[INFO] [stdout]       |
[INFO] [stdout] 15560 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15560 -     (__0)
[INFO] [stdout] 15560 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15568:5
[INFO] [stdout]       |
[INFO] [stdout] 15568 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15568 -     (__0)
[INFO] [stdout] 15568 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15592:5
[INFO] [stdout]       |
[INFO] [stdout] 15592 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15592 -     (__0)
[INFO] [stdout] 15592 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15600:5
[INFO] [stdout]       |
[INFO] [stdout] 15600 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15600 -     (__0)
[INFO] [stdout] 15600 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16375:5
[INFO] [stdout]       |
[INFO] [stdout] 16375 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16375 -     (__0)
[INFO] [stdout] 16375 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16435:5
[INFO] [stdout]       |
[INFO] [stdout] 16435 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16435 -     (__0)
[INFO] [stdout] 16435 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16461:5
[INFO] [stdout]       |
[INFO] [stdout] 16461 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16461 -     (__0)
[INFO] [stdout] 16461 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16487:5
[INFO] [stdout]       |
[INFO] [stdout] 16487 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16487 -     (__0)
[INFO] [stdout] 16487 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16513:5
[INFO] [stdout]       |
[INFO] [stdout] 16513 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16513 -     (__0)
[INFO] [stdout] 16513 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16539:5
[INFO] [stdout]       |
[INFO] [stdout] 16539 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16539 -     (__0)
[INFO] [stdout] 16539 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16565:5
[INFO] [stdout]       |
[INFO] [stdout] 16565 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16565 -     (__0)
[INFO] [stdout] 16565 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16591:5
[INFO] [stdout]       |
[INFO] [stdout] 16591 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16591 -     (__0)
[INFO] [stdout] 16591 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16617:5
[INFO] [stdout]       |
[INFO] [stdout] 16617 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16617 -     (__0)
[INFO] [stdout] 16617 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16643:5
[INFO] [stdout]       |
[INFO] [stdout] 16643 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16643 -     (__0)
[INFO] [stdout] 16643 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16669:5
[INFO] [stdout]       |
[INFO] [stdout] 16669 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16669 -     (__0)
[INFO] [stdout] 16669 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16695:5
[INFO] [stdout]       |
[INFO] [stdout] 16695 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16695 -     (__0)
[INFO] [stdout] 16695 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16721:5
[INFO] [stdout]       |
[INFO] [stdout] 16721 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16721 -     (__0)
[INFO] [stdout] 16721 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16747:5
[INFO] [stdout]       |
[INFO] [stdout] 16747 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16747 -     (__0)
[INFO] [stdout] 16747 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16773:5
[INFO] [stdout]       |
[INFO] [stdout] 16773 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16773 -     (__0)
[INFO] [stdout] 16773 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:13511:5
[INFO] [stdout]       |
[INFO] [stdout] 13511 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 13511 -     (__0)
[INFO] [stdout] 13511 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:14827:5
[INFO] [stdout]       |
[INFO] [stdout] 14827 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 14827 -     (__0)
[INFO] [stdout] 14827 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15519:5
[INFO] [stdout]       |
[INFO] [stdout] 15519 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15519 -     (__0)
[INFO] [stdout] 15519 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15560:5
[INFO] [stdout]       |
[INFO] [stdout] 15560 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15560 -     (__0)
[INFO] [stdout] 15560 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15568:5
[INFO] [stdout]       |
[INFO] [stdout] 15568 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15568 -     (__0)
[INFO] [stdout] 15568 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15592:5
[INFO] [stdout]       |
[INFO] [stdout] 15592 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15592 -     (__0)
[INFO] [stdout] 15592 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15600:5
[INFO] [stdout]       |
[INFO] [stdout] 15600 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15600 -     (__0)
[INFO] [stdout] 15600 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16375:5
[INFO] [stdout]       |
[INFO] [stdout] 16375 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16375 -     (__0)
[INFO] [stdout] 16375 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16435:5
[INFO] [stdout]       |
[INFO] [stdout] 16435 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16435 -     (__0)
[INFO] [stdout] 16435 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16461:5
[INFO] [stdout]       |
[INFO] [stdout] 16461 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16461 -     (__0)
[INFO] [stdout] 16461 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16487:5
[INFO] [stdout]       |
[INFO] [stdout] 16487 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16487 -     (__0)
[INFO] [stdout] 16487 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16513:5
[INFO] [stdout]       |
[INFO] [stdout] 16513 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16513 -     (__0)
[INFO] [stdout] 16513 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16539:5
[INFO] [stdout]       |
[INFO] [stdout] 16539 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16539 -     (__0)
[INFO] [stdout] 16539 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16565:5
[INFO] [stdout]       |
[INFO] [stdout] 16565 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16565 -     (__0)
[INFO] [stdout] 16565 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16591:5
[INFO] [stdout]       |
[INFO] [stdout] 16591 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16591 -     (__0)
[INFO] [stdout] 16591 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16617:5
[INFO] [stdout]       |
[INFO] [stdout] 16617 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16617 -     (__0)
[INFO] [stdout] 16617 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16643:5
[INFO] [stdout]       |
[INFO] [stdout] 16643 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16643 -     (__0)
[INFO] [stdout] 16643 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16669:5
[INFO] [stdout]       |
[INFO] [stdout] 16669 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16669 -     (__0)
[INFO] [stdout] 16669 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16695:5
[INFO] [stdout]       |
[INFO] [stdout] 16695 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16695 -     (__0)
[INFO] [stdout] 16695 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16721:5
[INFO] [stdout]       |
[INFO] [stdout] 16721 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16721 -     (__0)
[INFO] [stdout] 16721 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16747:5
[INFO] [stdout]       |
[INFO] [stdout] 16747 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16747 -     (__0)
[INFO] [stdout] 16747 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16773:5
[INFO] [stdout]       |
[INFO] [stdout] 16773 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16773 -     (__0)
[INFO] [stdout] 16773 +     __0
[INFO] [stdout]       |
[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: 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]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[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] warning: 61 warnings emitted
[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: 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]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[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] warning: 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.16.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "bf70d1adadd420b0e292271989b4a03bedff2d09ff08a94c9c1443c79baaef0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf70d1adadd420b0e292271989b4a03bedff2d09ff08a94c9c1443c79baaef0a", kill_on_drop: false }`
[INFO] [stdout] bf70d1adadd420b0e292271989b4a03bedff2d09ff08a94c9c1443c79baaef0a
[INFO] checking andreymgn/pascal-compiler against nightly-2024-02-05+rustflags=-Dunexpected_cfgs+cargoflags=-Zcheck-cfg for check-cfg
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreymgn%2Fpascal-compiler" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreymgn/pascal-compiler on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "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-tc2/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64426bdb07c681de42b73111c36a5e4acb5b0f66f3e692f431c7be0674d7a5af
[INFO] running `Command { std: "docker" "start" "-a" "64426bdb07c681de42b73111c36a5e4acb5b0f66f3e692f431c7be0674d7a5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64426bdb07c681de42b73111c36a5e4acb5b0f66f3e692f431c7be0674d7a5af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64426bdb07c681de42b73111c36a5e4acb5b0f66f3e692f431c7be0674d7a5af", kill_on_drop: false }`
[INFO] [stdout] 64426bdb07c681de42b73111c36a5e4acb5b0f66f3e692f431c7be0674d7a5af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid -Dunexpected_cfgs" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zcheck-cfg", kill_on_drop: false }`
[INFO] [stdout] 405305bf5576234260823ebedbf2583a6d0fbcb13c75a22a4fb358d152c58bb6
[INFO] running `Command { std: "docker" "start" "-a" "405305bf5576234260823ebedbf2583a6d0fbcb13c75a22a4fb358d152c58bb6", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.0
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.29
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling num-complex v0.2.1
[INFO] [stderr]    Compiling either v1.5.2
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling matrixmultiply v0.1.15
[INFO] [stderr]    Compiling ndarray v0.12.1
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling rawpointer v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling string_cache_shared v0.3.0
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling block-padding v0.1.4
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling bit-vec v0.5.1
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.3
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling opaque-debug v0.2.2
[INFO] [stderr]    Compiling bit-set v0.5.1
[INFO] [stderr]    Compiling ena v0.11.0
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling diff v0.1.11
[INFO] [stderr]    Compiling lalrpop-util v0.16.3
[INFO] [stderr]    Compiling bitflags v1.0.5
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling generic-array v0.12.0
[INFO] [stderr]    Compiling ascii-canvas v1.0.0
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling digest v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]     Checking lalrpop-util v0.17.0
[INFO] [stderr]    Compiling string_cache_codegen v0.4.2
[INFO] [stderr]     Checking clap v2.33.0
[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] error: unexpected `cfg` condition name: `rustfmt`
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg_attr(rustfmt, rustfmt_skip)]
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `unix`, `windows`
[INFO] [stdout]    = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(rustfmt)");` to the top of a `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration
[INFO] [stdout]    = note: requested on the command line with `-D unexpected-cfgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:13511:5
[INFO] [stdout]       |
[INFO] [stdout] 13511 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 13511 -     (__0)
[INFO] [stdout] 13511 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:14827:5
[INFO] [stdout]       |
[INFO] [stdout] 14827 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 14827 -     (__0)
[INFO] [stdout] 14827 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15519:5
[INFO] [stdout]       |
[INFO] [stdout] 15519 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15519 -     (__0)
[INFO] [stdout] 15519 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15560:5
[INFO] [stdout]       |
[INFO] [stdout] 15560 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15560 -     (__0)
[INFO] [stdout] 15560 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15568:5
[INFO] [stdout]       |
[INFO] [stdout] 15568 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15568 -     (__0)
[INFO] [stdout] 15568 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15592:5
[INFO] [stdout]       |
[INFO] [stdout] 15592 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15592 -     (__0)
[INFO] [stdout] 15592 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15600:5
[INFO] [stdout]       |
[INFO] [stdout] 15600 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15600 -     (__0)
[INFO] [stdout] 15600 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16375:5
[INFO] [stdout]       |
[INFO] [stdout] 16375 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16375 -     (__0)
[INFO] [stdout] 16375 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16435:5
[INFO] [stdout]       |
[INFO] [stdout] 16435 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16435 -     (__0)
[INFO] [stdout] 16435 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16461:5
[INFO] [stdout]       |
[INFO] [stdout] 16461 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16461 -     (__0)
[INFO] [stdout] 16461 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16487:5
[INFO] [stdout]       |
[INFO] [stdout] 16487 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16487 -     (__0)
[INFO] [stdout] 16487 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16513:5
[INFO] [stdout]       |
[INFO] [stdout] 16513 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16513 -     (__0)
[INFO] [stdout] 16513 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16539:5
[INFO] [stdout]       |
[INFO] [stdout] 16539 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16539 -     (__0)
[INFO] [stdout] 16539 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16565:5
[INFO] [stdout]       |
[INFO] [stdout] 16565 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16565 -     (__0)
[INFO] [stdout] 16565 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16591:5
[INFO] [stdout]       |
[INFO] [stdout] 16591 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16591 -     (__0)
[INFO] [stdout] 16591 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16617:5
[INFO] [stdout]       |
[INFO] [stdout] 16617 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16617 -     (__0)
[INFO] [stdout] 16617 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16643:5
[INFO] [stdout]       |
[INFO] [stdout] 16643 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16643 -     (__0)
[INFO] [stdout] 16643 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16669:5
[INFO] [stdout]       |
[INFO] [stdout] 16669 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16669 -     (__0)
[INFO] [stdout] 16669 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16695:5
[INFO] [stdout]       |
[INFO] [stdout] 16695 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16695 -     (__0)
[INFO] [stdout] 16695 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16721:5
[INFO] [stdout]       |
[INFO] [stdout] 16721 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16721 -     (__0)
[INFO] [stdout] 16721 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16747:5
[INFO] [stdout]       |
[INFO] [stdout] 16747 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16747 -     (__0)
[INFO] [stdout] 16747 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16773:5
[INFO] [stdout]       |
[INFO] [stdout] 16773 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16773 -     (__0)
[INFO] [stdout] 16773 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `cfg` condition name: `rustfmt`
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg_attr(rustfmt, rustfmt_skip)]
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `unix`, `windows`
[INFO] [stdout]    = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(rustfmt)");` to the top of a `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration
[INFO] [stdout]    = note: requested on the command line with `-D unexpected-cfgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:13511:5
[INFO] [stdout]       |
[INFO] [stdout] 13511 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 13511 -     (__0)
[INFO] [stdout] 13511 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:14827:5
[INFO] [stdout]       |
[INFO] [stdout] 14827 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 14827 -     (__0)
[INFO] [stdout] 14827 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15519:5
[INFO] [stdout]       |
[INFO] [stdout] 15519 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15519 -     (__0)
[INFO] [stdout] 15519 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15560:5
[INFO] [stdout]       |
[INFO] [stdout] 15560 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15560 -     (__0)
[INFO] [stdout] 15560 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15568:5
[INFO] [stdout]       |
[INFO] [stdout] 15568 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15568 -     (__0)
[INFO] [stdout] 15568 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15592:5
[INFO] [stdout]       |
[INFO] [stdout] 15592 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15592 -     (__0)
[INFO] [stdout] 15592 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:15600:5
[INFO] [stdout]       |
[INFO] [stdout] 15600 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 15600 -     (__0)
[INFO] [stdout] 15600 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16375:5
[INFO] [stdout]       |
[INFO] [stdout] 16375 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16375 -     (__0)
[INFO] [stdout] 16375 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16435:5
[INFO] [stdout]       |
[INFO] [stdout] 16435 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16435 -     (__0)
[INFO] [stdout] 16435 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16461:5
[INFO] [stdout]       |
[INFO] [stdout] 16461 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16461 -     (__0)
[INFO] [stdout] 16461 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16487:5
[INFO] [stdout]       |
[INFO] [stdout] 16487 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16487 -     (__0)
[INFO] [stdout] 16487 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16513:5
[INFO] [stdout]       |
[INFO] [stdout] 16513 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16513 -     (__0)
[INFO] [stdout] 16513 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16539:5
[INFO] [stdout]       |
[INFO] [stdout] 16539 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16539 -     (__0)
[INFO] [stdout] 16539 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16565:5
[INFO] [stdout]       |
[INFO] [stdout] 16565 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16565 -     (__0)
[INFO] [stdout] 16565 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16591:5
[INFO] [stdout]       |
[INFO] [stdout] 16591 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16591 -     (__0)
[INFO] [stdout] 16591 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16617:5
[INFO] [stdout]       |
[INFO] [stdout] 16617 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16617 -     (__0)
[INFO] [stdout] 16617 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16643:5
[INFO] [stdout]       |
[INFO] [stdout] 16643 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16643 -     (__0)
[INFO] [stdout] 16643 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16669:5
[INFO] [stdout]       |
[INFO] [stdout] 16669 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16669 -     (__0)
[INFO] [stdout] 16669 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16695:5
[INFO] [stdout]       |
[INFO] [stdout] 16695 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16695 -     (__0)
[INFO] [stdout] 16695 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16721:5
[INFO] [stdout]       |
[INFO] [stdout] 16721 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16721 -     (__0)
[INFO] [stdout] 16721 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16747:5
[INFO] [stdout]       |
[INFO] [stdout] 16747 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16747 -     (__0)
[INFO] [stdout] 16747 +     __0
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/pascal-kursach-fdc6f3fb88228a99/out/pascal.rs:16773:5
[INFO] [stdout]       |
[INFO] [stdout] 16773 |     (__0)
[INFO] [stdout]       |     ^   ^
[INFO] [stdout]       |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]       |
[INFO] [stdout] 16773 -     (__0)
[INFO] [stdout] 16773 +     __0
[INFO] [stdout]       |
[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: 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]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[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] 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: 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]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[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: aborting due to 1 previous error; 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pascal-kursach` (bin "pascal-kursach") due to 2 previous errors; 61 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `pascal-kursach` (bin "pascal-kursach" test) due to 2 previous errors; 61 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "405305bf5576234260823ebedbf2583a6d0fbcb13c75a22a4fb358d152c58bb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "405305bf5576234260823ebedbf2583a6d0fbcb13c75a22a4fb358d152c58bb6", kill_on_drop: false }`
[INFO] [stdout] 405305bf5576234260823ebedbf2583a6d0fbcb13c75a22a4fb358d152c58bb6
