[INFO] cloning repository https://github.com/cpralea/xlang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cpralea/xlang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpralea%2Fxlang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpralea%2Fxlang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1d751f5646445c5c897ec2a48ab776933287c772 [INFO] checking cpralea/xlang/1d751f5646445c5c897ec2a48ab776933287c772 against master#ff1737bb00913444173658b4e0b274fd79aabf66 for pr-132712-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpralea%2Fxlang" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cpralea/xlang on toolchain ff1737bb00913444173658b4e0b274fd79aabf66 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/cpralea/xlang [INFO] finished tweaking git repo https://github.com/cpralea/xlang [INFO] tweaked toml for git repo https://github.com/cpralea/xlang written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/cpralea/xlang 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" "+ff1737bb00913444173658b4e0b274fd79aabf66" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/xlrt/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/xlc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded itertools v0.6.0 [INFO] [stderr] Downloaded argparse v0.2.1 [INFO] [stderr] Downloaded either v1.1.0 [INFO] [stderr] Downloaded maplit v0.1.4 [INFO] [stderr] Downloaded ref_eq v1.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dbd265fde5c427cfeeeff35b28b523b05df10302a8be7d5f395c57c93e119dd6 [INFO] running `Command { std: "docker" "start" "-a" "dbd265fde5c427cfeeeff35b28b523b05df10302a8be7d5f395c57c93e119dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dbd265fde5c427cfeeeff35b28b523b05df10302a8be7d5f395c57c93e119dd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbd265fde5c427cfeeeff35b28b523b05df10302a8be7d5f395c57c93e119dd6", kill_on_drop: false }` [INFO] [stdout] dbd265fde5c427cfeeeff35b28b523b05df10302a8be7d5f395c57c93e119dd6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f44fac7d5a6d771ecbf3483ef83fb423e4daffd778866676f27f142ac1c9dfae [INFO] running `Command { std: "docker" "start" "-a" "f44fac7d5a6d771ecbf3483ef83fb423e4daffd778866676f27f142ac1c9dfae", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/xlc/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] warning: /opt/rustwide/workdir/xlrt/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking either v1.1.0 [INFO] [stderr] Checking ref_eq v1.0.0 [INFO] [stderr] Checking argparse v0.2.1 [INFO] [stderr] Checking maplit v0.1.4 [INFO] [stderr] Checking xlrt v0.1.0 (/opt/rustwide/workdir/xlrt) [INFO] [stderr] Checking itertools v0.6.0 [INFO] [stderr] Checking xlc v0.1.1 (/opt/rustwide/workdir/xlc) [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | fn emit_assignment_strlit(&mut self, ir_srcid: &String, xl_dstid: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 62 | let ir_srcid = [INFO] [stdout] 63 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_srcid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:63:44 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | fn emit_assignment_strlit(&mut self, ir_srcid: &String, xl_dstid: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 62 | let ir_srcid = [INFO] [stdout] 63 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_srcid)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_srcid)); [INFO] [stdout] | ------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 64 | self.emit_assignment_str(ir_srcid, xl_dstid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_srcid)); [INFO] [stdout] | ------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 64 | self.emit_assignment_str(ir_srcid, xl_dstid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 72 | fn emit_assignment_bool(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 73 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 72 | fn emit_assignment_bool(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 73 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 81 | fn emit_assignment_int(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 82 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 81 | fn emit_assignment_int(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 82 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 90 | fn emit_assignment_str(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 91 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/assignment.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 42 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 90 | fn emit_assignment_str(&mut self, ir_srcid: &String, xl_dstvar: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 91 | let ir_dstid = Self::get_ir_id_by_xl_id(&self.var_decls, xl_dstvar); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/expression.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 43 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 272 | fn push_var(&mut self, step: &'a cdata::Step<'a>, xl_id: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 273 | let ir_id = Self::get_ir_id_by_xl_id(&self.var_decls, xl_id).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/expression.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 43 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 295 | fn push_strlit(&mut self, xl_val: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 296 | let ir_id = Self::get_ir_id_by_xl_val(&self.str_decls, xl_val).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/expression.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 43 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 272 | fn push_var(&mut self, step: &'a cdata::Step<'a>, xl_id: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 273 | let ir_id = Self::get_ir_id_by_xl_id(&self.var_decls, xl_id).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/expression.rs:296:21 [INFO] [stdout] | [INFO] [stdout] 43 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 295 | fn push_strlit(&mut self, xl_val: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 296 | let ir_id = Self::get_ir_id_by_xl_val(&self.str_decls, xl_val).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/print.rs:62:44 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 60 | fn emit_print_strlit(&mut self, ir_id: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 61 | let ir_id = [INFO] [stdout] 62 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/print.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 62 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_id)); [INFO] [stdout] | --------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 63 | self.emit_print_str(ir_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/print.rs:62:44 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 60 | fn emit_print_strlit(&mut self, ir_id: &String) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 61 | let ir_id = [INFO] [stdout] 62 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/print.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 62 | &Self::get_decorated_str_ir_id(Self::get_str_decl_by_ir_id(&self.str_decls, ir_id)); [INFO] [stdout] | --------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 63 | self.emit_print_str(ir_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/strlits.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 28 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 29 | fn build_str_decls(&mut self) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 34 | if Self::find_str_decl_by_xl_val(&self.str_decls, xl_val).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.str_decls` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/strlits.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 28 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 34 | if Self::find_str_decl_by_xl_val(&self.str_decls, xl_val).is_none() { [INFO] [stdout] | ------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 35 | let ir_id = format!("@{}", Self::get_next_id(&mut self.strlit_id)); [INFO] [stdout] 36 | self.str_decls.push(strdecl::StrDecl::from(xl_val).with_id(ir_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/strlits.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 28 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 29 | fn build_str_decls(&mut self) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 34 | if Self::find_str_decl_by_xl_val(&self.str_decls, xl_val).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.str_decls` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/strlits.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 28 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 34 | if Self::find_str_decl_by_xl_val(&self.str_decls, xl_val).is_none() { [INFO] [stdout] | ------------------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.str_decls` is borrowed for `'a` [INFO] [stdout] 35 | let ir_id = format!("@{}", Self::get_next_id(&mut self.strlit_id)); [INFO] [stdout] 36 | self.str_decls.push(strdecl::StrDecl::from(xl_val).with_id(ir_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/vars.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 23 | fn build_var_decls(&mut self) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 28 | if Self::find_var_decl_by_xl_id(&self.var_decls, xl_id).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.var_decls` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/vars.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 28 | if Self::find_var_decl_by_xl_id(&self.var_decls, xl_id).is_none() { [INFO] [stdout] | ---------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.var_decls` is borrowed for `'a` [INFO] [stdout] ... [INFO] [stdout] 36 | / self.var_decls.push( [INFO] [stdout] 37 | | vardecl::VarDecl::from(xl_id).with_id(ir_id).with_type( [INFO] [stdout] 38 | | ir_type, [INFO] [stdout] 39 | | ), [INFO] [stdout] 40 | | ); [INFO] [stdout] | |_________________________^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> xlc/src/emitter/llvm/vars.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 23 | fn build_var_decls(&mut self) { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] ... [INFO] [stdout] 28 | if Self::find_var_decl_by_xl_id(&self.var_decls, xl_id).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.var_decls` as mutable because it is also borrowed as immutable [INFO] [stdout] --> xlc/src/emitter/llvm/vars.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'a> emitter::Emitter<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 28 | if Self::find_var_decl_by_xl_id(&self.var_decls, xl_id).is_none() { [INFO] [stdout] | ---------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow occurs here [INFO] [stdout] | argument requires that `self.var_decls` is borrowed for `'a` [INFO] [stdout] ... [INFO] [stdout] 36 | / self.var_decls.push( [INFO] [stdout] 37 | | vardecl::VarDecl::from(xl_id).with_id(ir_id).with_type( [INFO] [stdout] 38 | | ir_type, [INFO] [stdout] 39 | | ), [INFO] [stdout] 40 | | ); [INFO] [stdout] | |_________________________^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `xlc` (bin "xlc") due to 13 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `xlc` (bin "xlc" test) due to 13 previous errors [INFO] running `Command { std: "docker" "inspect" "f44fac7d5a6d771ecbf3483ef83fb423e4daffd778866676f27f142ac1c9dfae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f44fac7d5a6d771ecbf3483ef83fb423e4daffd778866676f27f142ac1c9dfae", kill_on_drop: false }` [INFO] [stdout] f44fac7d5a6d771ecbf3483ef83fb423e4daffd778866676f27f142ac1c9dfae