[INFO] cloning repository https://github.com/mikele72/TeaEdit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mikele72/TeaEdit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikele72%2FTeaEdit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikele72%2FTeaEdit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e9fcd58f077a15d17c60020947bce5188aa6a18 [INFO] checking mikele72/TeaEdit/7e9fcd58f077a15d17c60020947bce5188aa6a18 against master#f21fbac535ab2c3bc50db20547f4d48477357103 for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmikele72%2FTeaEdit" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mikele72/TeaEdit [INFO] finished tweaking git repo https://github.com/mikele72/TeaEdit [INFO] tweaked toml for git repo https://github.com/mikele72/TeaEdit written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mikele72/TeaEdit on toolchain f21fbac535ab2c3bc50db20547f4d48477357103 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mikele72/TeaEdit 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" "+f21fbac535ab2c3bc50db20547f4d48477357103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cmake v0.1.24 [INFO] [stderr] Downloaded wayland-client v0.8.7 [INFO] [stderr] Downloaded cargo_metadata v0.2.3 [INFO] [stderr] Downloaded gfx v0.16.1 [INFO] [stderr] Downloaded draw_state v0.7.1 [INFO] [stderr] Downloaded serde_derive v1.0.10 [INFO] [stderr] Downloaded serde v1.0.10 [INFO] [stderr] Downloaded toml v0.4.2 [INFO] [stderr] Downloaded clippy v0.0.144 [INFO] [stderr] Downloaded xml-rs v0.6.0 [INFO] [stderr] Downloaded wayland-kbd v0.8.0 [INFO] [stderr] Downloaded x11-dl v2.14.0 [INFO] [stderr] Downloaded derivative v1.0.0 [INFO] [stderr] Downloaded gfx_core v0.7.1 [INFO] [stderr] Downloaded clippy_lints v0.0.144 [INFO] [stderr] Downloaded libc v0.2.26 [INFO] [stderr] Downloaded gfx_device_gl v0.14.1 [INFO] [stderr] Downloaded gl_generator v0.5.5 [INFO] [stderr] Downloaded gleam v0.4.7 [INFO] [stderr] Downloaded winit v0.6.4 [INFO] [stderr] Downloaded gleam v0.2.32 [INFO] [stderr] Downloaded gfx_window_glutin v0.16.0 [INFO] [stderr] Downloaded shared_library v0.1.6 [INFO] [stderr] Downloaded tempfile v2.1.6 [INFO] [stderr] Downloaded wayland-scanner v0.8.7 [INFO] [stderr] Downloaded glutin v0.8.1 [INFO] [stderr] Downloaded freetype v0.2.0 [INFO] [stderr] Downloaded quine-mc_cluskey v0.2.4 [INFO] [stderr] Downloaded wayland-sys v0.8.7 [INFO] [stderr] Downloaded wayland-window v0.5.0 [INFO] [stderr] Downloaded khronos_api v1.0.1 [INFO] [stderr] Downloaded harfbuzz-sys v0.1.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 281509fe9e65243eea5598f9a139e3fcc03a5bbf4bff03aa9e6df079b0966290 [INFO] running `Command { std: "docker" "start" "-a" "281509fe9e65243eea5598f9a139e3fcc03a5bbf4bff03aa9e6df079b0966290", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "281509fe9e65243eea5598f9a139e3fcc03a5bbf4bff03aa9e6df079b0966290", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "281509fe9e65243eea5598f9a139e3fcc03a5bbf4bff03aa9e6df079b0966290", kill_on_drop: false }` [INFO] [stdout] 281509fe9e65243eea5598f9a139e3fcc03a5bbf4bff03aa9e6df079b0966290 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1c16cda3b06582e609e8601356c93aeaf63746bff42bcfafcf5920dbcb49a9b3 [INFO] running `Command { std: "docker" "start" "-a" "1c16cda3b06582e609e8601356c93aeaf63746bff42bcfafcf5920dbcb49a9b3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling siphasher v0.2.2 [INFO] [stderr] Compiling libc v0.2.26 [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling serde v0.9.15 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Checking lazy_static v0.2.8 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling log v0.3.8 [INFO] [stderr] Compiling khronos_api v1.0.1 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling gcc v0.3.51 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Compiling either v1.1.0 [INFO] [stderr] Compiling xml-rs v0.6.0 [INFO] [stderr] Compiling xml-rs v0.3.6 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Checking bitflags v0.8.2 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking draw_state v0.7.1 [INFO] [stderr] Checking byteorder v1.1.0 [INFO] [stderr] Compiling phf_shared v0.7.21 [INFO] [stderr] Compiling phf v0.7.21 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking shared_library v0.1.6 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Compiling cmake v0.1.24 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling wayland-scanner v0.8.7 [INFO] [stderr] Compiling servo-freetype-sys v4.0.3 [INFO] [stderr] Compiling harfbuzz-sys v0.1.11 [INFO] [stderr] Checking tempfile v2.1.6 [INFO] [stderr] Compiling gl_generator v0.5.5 [INFO] [stderr] Checking freetype v0.2.0 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Compiling wayland-client v0.8.7 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Compiling gfx_gl v0.3.1 [INFO] [stderr] Compiling glutin v0.8.1 [INFO] [stderr] Compiling derivative v1.0.0 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Checking gfx_core v0.7.1 [INFO] [stderr] Checking gfx_device_gl v0.14.1 [INFO] [stderr] Checking gfx v0.16.1 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.8.7 [INFO] [stderr] Checking wayland-kbd v0.8.0 [INFO] [stderr] Checking wayland-window v0.5.0 [INFO] [stderr] Checking winit v0.6.4 [INFO] [stderr] Checking gfx_window_glutin v0.16.0 [INFO] [stderr] Checking tea v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ui::window` [INFO] [stdout] --> src/app.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use ui::window; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std` [INFO] [stdout] --> src/ui/text.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/ui/text.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/ui/text.rs:189:24 [INFO] [stdout] | [INFO] [stdout] 189 | let pos = unsafe { (*glyph_pos.offset(i as isize)) }; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 189 - let pos = unsafe { (*glyph_pos.offset(i as isize)) }; [INFO] [stdout] 189 + let pos = unsafe { *glyph_pos.offset(i as isize) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx::Device` [INFO] [stdout] --> src/ui/graphics.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use gfx::Device; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx::traits::FactoryExt` [INFO] [stdout] --> src/ui/graphics.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gfx::traits::FactoryExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx_window_glutin` [INFO] [stdout] --> src/ui/graphics.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use gfx_window_glutin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin` [INFO] [stdout] --> src/ui/graphics.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use glutin; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/ui/graphics.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ui/graphics.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ui::text::Glyph` [INFO] [stdout] --> src/ui/graphics.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ui::text::Glyph; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ui::window` [INFO] [stdout] --> src/app.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use ui::window; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std` [INFO] [stdout] --> src/ui/text.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `max` and `min` [INFO] [stdout] --> src/ui/text.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cmp::{max, min}; [INFO] [stdout] | ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/ui/text.rs:189:24 [INFO] [stdout] | [INFO] [stdout] 189 | let pos = unsafe { (*glyph_pos.offset(i as isize)) }; [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 189 - let pos = unsafe { (*glyph_pos.offset(i as isize)) }; [INFO] [stdout] 189 + let pos = unsafe { *glyph_pos.offset(i as isize) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx::Device` [INFO] [stdout] --> src/ui/graphics.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use gfx::Device; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx::traits::FactoryExt` [INFO] [stdout] --> src/ui/graphics.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gfx::traits::FactoryExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gfx_window_glutin` [INFO] [stdout] --> src/ui/graphics.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use gfx_window_glutin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin` [INFO] [stdout] --> src/ui/graphics.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use glutin; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/ui/graphics.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/ui/graphics.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ui::text::Glyph` [INFO] [stdout] --> src/ui/graphics.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ui::text::Glyph; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 2 arguments were supplied [INFO] [stdout] --> src/app.rs:24:3 [INFO] [stdout] | [INFO] [stdout] 24 | text::render_text_to_glyphs(text, font); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------ two arguments of type `&mut HashMap>` and `&mut _` are missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ui/text.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn render_text_to_glyphs<'a, R, F>(t: Text, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | font: Font, [INFO] [stdout] 115 | library: &'a mut GlyphLibrary, [INFO] [stdout] | -------------------------------- [INFO] [stdout] 116 | factory: &mut F) [INFO] [stdout] | --------------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 24 | text::render_text_to_glyphs(text, font, /* library */, /* factory */); [INFO] [stdout] | ++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 2 arguments were supplied [INFO] [stdout] --> src/app.rs:24:3 [INFO] [stdout] | [INFO] [stdout] 24 | text::render_text_to_glyphs(text, font); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------ two arguments of type `&mut HashMap>` and `&mut _` are missing [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ui/text.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn render_text_to_glyphs<'a, R, F>(t: Text, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | font: Font, [INFO] [stdout] 115 | library: &'a mut GlyphLibrary, [INFO] [stdout] | -------------------------------- [INFO] [stdout] 116 | factory: &mut F) [INFO] [stdout] | --------------- [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 24 | text::render_text_to_glyphs(text, font, /* library */, /* factory */); [INFO] [stdout] | ++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0501]: cannot borrow `*library` as immutable because previous closure requires unique access [INFO] [stdout] --> src/ui/text.rs:178:3 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn render_text_to_glyphs_buf<'a, R, F>(text: Text, [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ^^^^^^^ second borrow occurs here [INFO] [stdout] 179 | || { [INFO] [stdout] | -- closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- first borrow occurs due to use of `library` in closure [INFO] [stdout] ... [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ---------- returning this value requires that `library` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `library`, which is owned by the current function [INFO] [stdout] --> src/ui/text.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | || { [INFO] [stdout] | ^^ may outlive borrowed value `library` [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- `library` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: closure is returned here [INFO] [stdout] --> src/ui/text.rs:211:2 [INFO] [stdout] | [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: to force the closure to take ownership of `library` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 179 | move || { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `library` but it is already borrowed [INFO] [stdout] --> src/ui/text.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn render_text_to_glyphs_buf<'a, R, F>(text: Text, [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ------- borrow occurs here [INFO] [stdout] 179 | || { [INFO] [stdout] | ^^ closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- second borrow occurs due to use of `library` in closure [INFO] [stdout] ... [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ---------- returning this value requires that `*library` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `glyphs` as mutable more than once at a time [INFO] [stdout] --> src/ui/text.rs:207:4 [INFO] [stdout] | [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ----------- first borrow later used by call [INFO] [stdout] 179 | || { [INFO] [stdout] | -- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 205 | glyphs.push(library.get(&key).unwrap()); [INFO] [stdout] | ------ first borrow occurs due to use of `glyphs` in closure [INFO] [stdout] 206 | }, [INFO] [stdout] 207 | |g| glyphs.push(g), [INFO] [stdout] | ^^^ ------ second borrow occurs due to use of `glyphs` in closure [INFO] [stdout] | | [INFO] [stdout] | second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0501]: cannot borrow `*library` as immutable because previous closure requires unique access [INFO] [stdout] --> src/ui/text.rs:178:3 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn render_text_to_glyphs_buf<'a, R, F>(text: Text, [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ^^^^^^^ second borrow occurs here [INFO] [stdout] 179 | || { [INFO] [stdout] | -- closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- first borrow occurs due to use of `library` in closure [INFO] [stdout] ... [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ---------- returning this value requires that `library` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `library`, which is owned by the current function [INFO] [stdout] --> src/ui/text.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | || { [INFO] [stdout] | ^^ may outlive borrowed value `library` [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- `library` is borrowed here [INFO] [stdout] | [INFO] [stdout] note: closure is returned here [INFO] [stdout] --> src/ui/text.rs:211:2 [INFO] [stdout] | [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] help: to force the closure to take ownership of `library` (and any other referenced variables), use the `move` keyword [INFO] [stdout] | [INFO] [stdout] 179 | move || { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0373, E0499, E0500, E0501. [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `library` but it is already borrowed [INFO] [stdout] --> src/ui/text.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn render_text_to_glyphs_buf<'a, R, F>(text: Text, [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ------- borrow occurs here [INFO] [stdout] 179 | || { [INFO] [stdout] | ^^ closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 204 | library.insert(key, glyph); [INFO] [stdout] | ------- second borrow occurs due to use of `library` in closure [INFO] [stdout] ... [INFO] [stdout] 211 | Ok(glyphs) [INFO] [stdout] | ---------- returning this value requires that `*library` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `glyphs` as mutable more than once at a time [INFO] [stdout] --> src/ui/text.rs:207:4 [INFO] [stdout] | [INFO] [stdout] 178 | library.get(&key).map_or_else( [INFO] [stdout] | ----------- first borrow later used by call [INFO] [stdout] 179 | || { [INFO] [stdout] | -- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 205 | glyphs.push(library.get(&key).unwrap()); [INFO] [stdout] | ------ first borrow occurs due to use of `glyphs` in closure [INFO] [stdout] 206 | }, [INFO] [stdout] 207 | |g| glyphs.push(g), [INFO] [stdout] | ^^^ ------ second borrow occurs due to use of `glyphs` in closure [INFO] [stdout] | | [INFO] [stdout] | second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tea` (bin "tea") due to 5 previous errors; 11 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0061, E0373, E0499, E0500, E0501. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `tea` (bin "tea" test) due to 5 previous errors; 11 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1c16cda3b06582e609e8601356c93aeaf63746bff42bcfafcf5920dbcb49a9b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1c16cda3b06582e609e8601356c93aeaf63746bff42bcfafcf5920dbcb49a9b3", kill_on_drop: false }` [INFO] [stdout] 1c16cda3b06582e609e8601356c93aeaf63746bff42bcfafcf5920dbcb49a9b3