[INFO] cloning repository https://github.com/vishusandy/mazes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vishusandy/mazes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvishusandy%2Fmazes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvishusandy%2Fmazes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a17605161306e9fefe24240c7f1c5a1aee8b57c2 [INFO] checking vishusandy/mazes against try#44e31dee3cf6f37b4f652572897bb0eb25c477ee for pr-139763 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvishusandy%2Fmazes" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/vishusandy/mazes on toolchain 44e31dee3cf6f37b4f652572897bb0eb25c477ee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/vishusandy/mazes [INFO] finished tweaking git repo https://github.com/vishusandy/mazes [INFO] tweaked toml for git repo https://github.com/vishusandy/mazes written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 93 packages to latest compatible versions [INFO] [stderr] Adding image v0.23.14 (available: v0.25.6) [INFO] [stderr] Adding imageproc v0.22.0 (available: v0.25.0) [INFO] [stderr] Adding parse-display v0.5.5 (available: v0.10.0) [INFO] [stderr] Adding rand v0.8.5 (available: v0.9.0) [INFO] [stderr] Adding rand_xoshiro v0.6.0 (available: v0.7.0) [INFO] [stderr] Adding sealed v0.3.0 (available: v0.6.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.12) [INFO] [stderr] Adding webp-animation v0.5.0 (available: v0.9.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d590ea0f9426bbdfbbd0e973b7c2ff6ae13bd62dab845b4931cd934799ad1e6d [INFO] running `Command { std: "docker" "start" "-a" "d590ea0f9426bbdfbbd0e973b7c2ff6ae13bd62dab845b4931cd934799ad1e6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d590ea0f9426bbdfbbd0e973b7c2ff6ae13bd62dab845b4931cd934799ad1e6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d590ea0f9426bbdfbbd0e973b7c2ff6ae13bd62dab845b4931cd934799ad1e6d", kill_on_drop: false }` [INFO] [stdout] d590ea0f9426bbdfbbd0e973b7c2ff6ae13bd62dab845b4931cd934799ad1e6d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+44e31dee3cf6f37b4f652572897bb0eb25c477ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f925079b1ae4115e817fdb55b6bc35983265524147b929522418cb5e29b49d7b [INFO] running `Command { std: "docker" "start" "-a" "f925079b1ae4115e817fdb55b6bc35983265524147b929522418cb5e29b49d7b", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling num-bigint v0.3.3 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling cc v1.2.19 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ttf-parser v0.15.2 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling libwebp-sys2 v0.1.11 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Checking gif v0.11.4 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking num v0.1.43 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking owned_ttf_parser v0.15.2 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Checking bytemuck v1.22.0 [INFO] [stderr] Checking custom_derive v0.1.7 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Checking conv v0.3.3 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking rusttype v0.9.3 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking rand_distr v0.2.2 [INFO] [stderr] Checking rulinalg v0.4.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking linked_hash_set v0.1.5 [INFO] [stderr] Checking webp-animation v0.5.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Compiling structmeta-derive v0.1.6 [INFO] [stderr] Compiling sealed v0.3.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Checking index_list v0.2.15 [INFO] [stderr] Compiling structmeta v0.1.6 [INFO] [stderr] Compiling parse-display-derive v0.5.5 [INFO] [stderr] Checking imageproc v0.22.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking parse-display v0.5.5 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking mazes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 18 | | __phantom: std::marker::PhantomData<&'f R>, [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 18 | | __phantom: std::marker::PhantomData<&'f R>, [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] 44 | | { [INFO] [stdout] 45 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 38 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:36 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:36 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | type G = R::G; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | type G = R::G; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 41 | | where [INFO] [stdout] 42 | | R: Renderer<'f>, [INFO] [stdout] 43 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] 44 | | { [INFO] [stdout] 45 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 40 | impl<'f, R, F> Renderer<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | |________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | / impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] 47 | | where [INFO] [stdout] 48 | | R: Renderer<'f>, [INFO] [stdout] 49 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:36 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:46:36 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | type G = R::G; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | type G = R::G; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new( [INFO] [stdout] | ^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | ) -> Self { [INFO] [stdout] | ^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 29 | ) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: lifetime parameter instantiated with the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:42 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0478]: lifetime bound not satisfied [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: but lifetime parameter must outlive the lifetime `'f` as defined here [INFO] [stdout] --> src/render/renderers/custom.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new( [INFO] [stdout] | ^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | ) -> Self { [INFO] [stdout] | ^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 29 | ) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:42 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | | ------------------------------------------------------------------------ doesn't satisfy where-clause [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- due to a where-clause on `CustomRenderer`... [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ...`R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:46 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'f>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `render_rgba` found for struct `CustomRenderer` in the current scope [INFO] [stdout] --> src/render/renderers/anim.rs:109:36 [INFO] [stdout] | [INFO] [stdout] 109 | self.add_rgba_frame(custom.render_rgba(), self.anim.time())?; [INFO] [stdout] | ^^^^^^^^^^^ method not found in `CustomRenderer<'f, R, fn(&R, Index, &<... as Renderable>::B, ...)>` [INFO] [stdout] | [INFO] [stdout] ::: src/render/renderers/custom.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- method `render_rgba` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] help: trait `Renderer` which provides `render_rgba` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::render::Renderer; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `render_rgba` found for struct `CustomRenderer` in the current scope [INFO] [stdout] --> src/render/renderers/anim.rs:109:36 [INFO] [stdout] | [INFO] [stdout] 109 | self.add_rgba_frame(custom.render_rgba(), self.anim.time())?; [INFO] [stdout] | ^^^^^^^^^^^ method not found in `CustomRenderer<'f, R, fn(&R, Index, &<... as Renderable>::B, ...)>` [INFO] [stdout] | [INFO] [stdout] ::: src/render/renderers/custom.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub struct CustomRenderer< [INFO] [stdout] 10 | | 'f, [INFO] [stdout] 11 | | R: Renderer<'f>, [INFO] [stdout] 12 | | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] 13 | | > { [INFO] [stdout] | |_- method `render_rgba` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] help: trait `Renderer` which provides `render_rgba` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use crate::render::Renderer; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RendererOps` [INFO] [stdout] --> src/render/renderers/anim.rs:3:43 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::render::{Renderable, Renderer, RendererOps}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RendererOps` [INFO] [stdout] --> src/render/renderers/anim.rs:3:43 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::render::{Renderable, Renderer, RendererOps}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(move || self.renderer.block_label(id)) [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.label [INFO] [stdout] 66 | | .get(&id) [INFO] [stdout] 67 | | .cloned() [INFO] [stdout] 68 | | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | |_____________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.label [INFO] [stdout] 66 | | .get(&id) [INFO] [stdout] 67 | | .cloned() [INFO] [stdout] 68 | | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | |_____________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(move || self.renderer.block_bg(id)) [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / self.bg [INFO] [stdout] 72 | | .get(&id) [INFO] [stdout] 73 | | .copied() [INFO] [stdout] 74 | | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | |__________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / self.bg [INFO] [stdout] 72 | | .get(&id) [INFO] [stdout] 73 | | .copied() [INFO] [stdout] 74 | | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | |__________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | impl<'f, R: Renderer<'f>, F> CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new( [INFO] [stdout] 25 | | renderer: R, [INFO] [stdout] 26 | | bg: HashMap>, [INFO] [stdout] 27 | | label: HashMap, [INFO] [stdout] 28 | | extra: Option, [INFO] [stdout] 29 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / Self { [INFO] [stdout] 31 | | bg, [INFO] [stdout] 32 | | label, [INFO] [stdout] 33 | | extra, [INFO] [stdout] 34 | | renderer, [INFO] [stdout] 35 | | __phantom: std::marker::PhantomData, [INFO] [stdout] 36 | | } [INFO] [stdout] | |_________^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | fn options<'a>(&'a self) -> &'a BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | fn options_mut<'a>(&'a mut self) -> &'a mut BasicOpts<'f> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | fn grid(&self) -> &Self::G { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn block_coords(&self, id: Index) -> ::B { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(move || self.renderer.block_label(id)) [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | fn block_label(&self, id: Index) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.label [INFO] [stdout] 66 | | .get(&id) [INFO] [stdout] 67 | | .cloned() [INFO] [stdout] 68 | | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | |_____________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / self.label [INFO] [stdout] 66 | | .get(&id) [INFO] [stdout] 67 | | .cloned() [INFO] [stdout] 68 | | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | |_____________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | .unwrap_or_else(|| self.renderer.block_label(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0478, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] | [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(move || self.renderer.block_bg(id)) [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | fn block_bg(&self, id: Index) -> Rgba { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / self.bg [INFO] [stdout] 72 | | .get(&id) [INFO] [stdout] 73 | | .copied() [INFO] [stdout] 74 | | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | |__________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / self.bg [INFO] [stdout] 72 | | .get(&id) [INFO] [stdout] 73 | | .copied() [INFO] [stdout] 74 | | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | |__________________________________________________________^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'_>` [INFO] [stdout] = note: ...but it actually implements `RendererOps<'0>`, for some specific lifetime `'0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implementation of `RendererOps` is not general enough [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `RendererOps` is not general enough [INFO] [stdout] | [INFO] [stdout] = note: `R` must implement `RendererOps<'0>`, for any lifetime `'0`... [INFO] [stdout] = note: ...but it actually implements `RendererOps<'1>`, for some specific lifetime `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/render/renderers/custom.rs:74:29 [INFO] [stdout] | [INFO] [stdout] 74 | .unwrap_or_else(|| self.renderer.block_bg(id)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one type is more general than the other [INFO] [stdout] | [INFO] [stdout] = note: expected associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] found associated type `>::G as Renderable>::B, &mut ImageBuffer, Vec>)>>::Output` [INFO] [stdout] note: the lifetime requirement is introduced here [INFO] [stdout] --> src/render/renderers/custom.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | F: Fn(&R, Index, &<::G as Renderable>::B, &mut RgbaImage), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 46 | impl<'f, R, F> RendererOps<'f> for CustomRenderer<'f, R, F> [INFO] [stdout] | -- lifetime `'f` defined here [INFO] [stdout] ... [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'f` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: higher-ranked subtype error [INFO] [stdout] --> src/render/renderers/custom.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | fn render_extra(&self, id: Index, block: &::B, image: &mut RgbaImage) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mazes` (lib) due to 101 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0308, E0478, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mazes` (lib test) due to 101 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "f925079b1ae4115e817fdb55b6bc35983265524147b929522418cb5e29b49d7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f925079b1ae4115e817fdb55b6bc35983265524147b929522418cb5e29b49d7b", kill_on_drop: false }` [INFO] [stdout] f925079b1ae4115e817fdb55b6bc35983265524147b929522418cb5e29b49d7b