[INFO] cloning repository https://github.com/Finnerale/Coat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Finnerale/Coat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFinnerale%2FCoat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFinnerale%2FCoat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e651041c0c501fcefa9190b1d6477908d9287593
[INFO] checking Finnerale/Coat against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFinnerale%2FCoat" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Finnerale/Coat
[INFO] finished tweaking git repo https://github.com/Finnerale/Coat
[INFO] tweaked toml for git repo https://github.com/Finnerale/Coat written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Finnerale/Coat on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 176 packages to latest compatible versions
[INFO] [stderr]       Adding druid v0.7.0 (available: v0.8.3)
[INFO] [stderr]       Adding simple_logger v1.16.0 (available: v5.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simple_logger v1.16.0
[INFO] [stderr]   Downloaded rental v0.5.6
[INFO] [stderr]   Downloaded strum v0.18.0
[INFO] [stderr]   Downloaded gdk-pixbuf v0.9.0
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.10.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.10.0
[INFO] [stderr]   Downloaded druid-derive v0.4.0
[INFO] [stderr]   Downloaded atk v0.9.0
[INFO] [stderr]   Downloaded gdk-sys v0.10.0
[INFO] [stderr]   Downloaded gdk v0.13.2
[INFO] [stderr]   Downloaded gio-sys v0.10.1
[INFO] [stderr]   Downloaded glib v0.10.3
[INFO] [stderr]   Downloaded glib-sys v0.10.1
[INFO] [stderr]   Downloaded druid v0.7.0
[INFO] [stderr]   Downloaded gtk-sys v0.10.0
[INFO] [stderr]   Downloaded gio v0.9.1
[INFO] [stderr]   Downloaded kurbo v0.7.1
[INFO] [stderr]   Downloaded druid-shell v0.7.0
[INFO] [stderr]   Downloaded unic-langid-impl v0.9.6
[INFO] [stderr]   Downloaded cairo-rs v0.9.1
[INFO] [stderr]   Downloaded fluent-syntax v0.9.3
[INFO] [stderr]   Downloaded pango v0.9.1
[INFO] [stderr]   Downloaded keyboard-types v0.5.0
[INFO] [stderr]   Downloaded system-deps v1.3.2
[INFO] [stderr]   Downloaded dwrote v0.11.3
[INFO] [stderr]   Downloaded piet v0.3.1
[INFO] [stderr]   Downloaded utf16_lit v1.0.1
[INFO] [stderr]   Downloaded piet-direct2d v0.3.0
[INFO] [stderr]   Downloaded const_fn v0.4.11
[INFO] [stderr]   Downloaded atk-sys v0.10.0
[INFO] [stderr]   Downloaded pango-sys v0.10.0
[INFO] [stderr]   Downloaded gtk v0.9.2
[INFO] [stderr]   Downloaded gobject-sys v0.10.0
[INFO] [stderr]   Downloaded piet-cairo v0.3.0
[INFO] [stderr]   Downloaded piet-coregraphics v0.3.0
[INFO] [stderr]   Downloaded glib-macros v0.10.1
[INFO] [stderr]   Downloaded piet-common v0.3.2
[INFO] [stderr]   Downloaded intl-memoizer v0.5.3
[INFO] [stderr]   Downloaded piet-web v0.3.1
[INFO] [stderr]   Downloaded type-map v0.5.1
[INFO] [stderr]   Downloaded colored v1.9.4
[INFO] [stderr]   Downloaded strum_macros v0.18.0
[INFO] [stderr]   Downloaded rental-impl v0.5.5
[INFO] [stderr]   Downloaded fluent-bundle v0.12.0
[INFO] [stderr]   Downloaded unic-langid v0.9.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 15062a0f27903c17639eb309a3f350d3147df860a843b44f84235199f7583c27
[INFO] running `Command { std: "docker" "start" "-a" "15062a0f27903c17639eb309a3f350d3147df860a843b44f84235199f7583c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15062a0f27903c17639eb309a3f350d3147df860a843b44f84235199f7583c27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15062a0f27903c17639eb309a3f350d3147df860a843b44f84235199f7583c27", kill_on_drop: false }`
[INFO] [stdout] 15062a0f27903c17639eb309a3f350d3147df860a843b44f84235199f7583c27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce1af486a50160bdb4e5951f4cbdceaae005285578d33fa1611cc3c5fd843511
[INFO] running `Command { std: "docker" "start" "-a" "ce1af486a50160bdb4e5951f4cbdceaae005285578d33fa1611cc3c5fd843511", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]    Compiling strum v0.18.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling cairo-rs v0.9.1
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling gio v0.9.1
[INFO] [stderr]     Checking unic-ucd-bidi v0.9.0
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling pango v0.9.1
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling gdk-pixbuf v0.9.0
[INFO] [stderr]     Checking unic-bidi v0.9.0
[INFO] [stderr]    Compiling const_fn v0.4.11
[INFO] [stderr]     Checking kurbo v0.7.1
[INFO] [stderr]    Compiling atk v0.9.0
[INFO] [stderr]    Compiling gdk v0.13.2
[INFO] [stderr]    Compiling time v0.2.27
[INFO] [stderr]    Compiling gtk v0.9.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking xi-unicode v0.2.1
[INFO] [stderr]     Checking piet v0.3.1
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking colored v1.9.4
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking keyboard-types v0.5.0
[INFO] [stderr]     Checking fluent-syntax v0.9.3
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking simple_logger v1.16.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking unic-langid-impl v0.9.6
[INFO] [stderr]     Checking unic-langid v0.9.6
[INFO] [stderr]     Checking intl-memoizer v0.5.3
[INFO] [stderr]     Checking fluent-langneg v0.13.0
[INFO] [stderr]     Checking intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling strum_macros v0.18.0
[INFO] [stderr]    Compiling glib-macros v0.10.1
[INFO] [stderr]    Compiling time-macros-impl v0.1.2
[INFO] [stderr]    Compiling rental-impl v0.5.5
[INFO] [stderr]    Compiling druid-derive v0.4.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]    Compiling system-deps v1.3.2
[INFO] [stderr]    Compiling glib-sys v0.10.1
[INFO] [stderr]    Compiling gobject-sys v0.10.0
[INFO] [stderr]    Compiling gio-sys v0.10.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.10.0
[INFO] [stderr]    Compiling pango-sys v0.10.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.10.0
[INFO] [stderr]    Compiling atk-sys v0.10.0
[INFO] [stderr]    Compiling gdk-sys v0.10.0
[INFO] [stderr]    Compiling gtk-sys v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking glib v0.10.3
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking rental v0.5.6
[INFO] [stderr]     Checking fluent-bundle v0.12.0
[INFO] [stderr]     Checking piet-cairo v0.3.0
[INFO] [stderr]     Checking piet-common v0.3.2
[INFO] [stderr]     Checking druid-shell v0.7.0
[INFO] [stderr]     Checking druid v0.7.0
[INFO] [stderr]     Checking coat v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `z_index`, `paint_func`, and `transform` are never read
[INFO] [stdout]   --> src/context.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ZOrderPaintOp {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] 77 |     pub z_index: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 78 |     pub paint_func: Box<dyn FnOnce(&mut PaintCtx) + 'static>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 79 |     pub transform: Affine,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fixed_width` is never read
[INFO] [stdout]   --> src/text/editor.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Editor<T> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fixed_width: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Editor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/tree.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter(&mut self) -> ChildIter {
[INFO] [stdout]     |                 ^^^^^^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter(&mut self) -> ChildIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/tree.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 646 |             let node_p = node as *const Child as *mut Child;
[INFO] [stdout]     |                          ---------------------------------- casting happened here
[INFO] [stdout] 647 |             // This is save because each child can only be accessed once.
[INFO] [stdout] 648 |             unsafe { &mut *node_p }
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn cursor(&self, position: usize) -> Option<StringCursor>;
[INFO] [stdout]    |               ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |               |
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn cursor(&self, position: usize) -> Option<StringCursor<'_>>;
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>>;
[INFO] [stdout]    |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cursor<'a>(&self, position: usize) -> Option<StringCursor> {
[INFO] [stdout]    |                   ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cursor<'a>(&self, position: usize) -> Option<StringCursor<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>> {
[INFO] [stdout]    |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/editable_text.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn cursor(&self, position: usize) -> Option<StringCursor> {
[INFO] [stdout]     |               ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn cursor(&self, position: usize) -> Option<StringCursor<'_>> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/editable_text.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>> {
[INFO] [stdout]     |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/rich_text.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn push(&mut self, string: &str) -> AttributesAdder {
[INFO] [stdout]     |                 ^^^^^^^^^                   --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn push(&mut self, string: &str) -> AttributesAdder<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/rich_text.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn add_attributes_for_range(&mut self, range: impl RangeBounds<usize>) -> AttributesAdder {
[INFO] [stdout]     |                                     ^^^^^^^^^ this lifetime flows to the output   --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn add_attributes_for_range(&mut self, range: impl RangeBounds<usize>) -> AttributesAdder<'_> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `coat` (lib) due to 1 previous error; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: fields `z_index`, `paint_func`, and `transform` are never read
[INFO] [stdout]   --> src/context.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ZOrderPaintOp {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] 77 |     pub z_index: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 78 |     pub paint_func: Box<dyn FnOnce(&mut PaintCtx) + 'static>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 79 |     pub transform: Affine,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fixed_width` is never read
[INFO] [stdout]   --> src/text/editor.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Editor<T> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fixed_width: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Editor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/tree.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter(&mut self) -> ChildIter {
[INFO] [stdout]     |                 ^^^^^^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn iter(&mut self) -> ChildIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/tree.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 646 |             let node_p = node as *const Child as *mut Child;
[INFO] [stdout]     |                          ---------------------------------- casting happened here
[INFO] [stdout] 647 |             // This is save because each child can only be accessed once.
[INFO] [stdout] 648 |             unsafe { &mut *node_p }
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn cursor(&self, position: usize) -> Option<StringCursor>;
[INFO] [stdout]    |               ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |               |
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn cursor(&self, position: usize) -> Option<StringCursor<'_>>;
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>>;
[INFO] [stdout]    |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cursor<'a>(&self, position: usize) -> Option<StringCursor> {
[INFO] [stdout]    |                   ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cursor<'a>(&self, position: usize) -> Option<StringCursor<'_>> {
[INFO] [stdout]    |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/text/editable_text.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>> {
[INFO] [stdout]    |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |              |
[INFO] [stdout]    |              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/editable_text.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn cursor(&self, position: usize) -> Option<StringCursor> {
[INFO] [stdout]     |               ^^^^^                             ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn cursor(&self, position: usize) -> Option<StringCursor<'_>> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/editable_text.rs:204:14
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn slice(&self, range: Range<usize>) -> Option<Cow<str>> {
[INFO] [stdout]     |              ^^^^^                                 -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/rich_text.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn push(&mut self, string: &str) -> AttributesAdder {
[INFO] [stdout]     |                 ^^^^^^^^^                   --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn push(&mut self, string: &str) -> AttributesAdder<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/text/rich_text.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn add_attributes_for_range(&mut self, range: impl RangeBounds<usize>) -> AttributesAdder {
[INFO] [stdout]     |                                     ^^^^^^^^^ this lifetime flows to the output   --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn add_attributes_for_range(&mut self, range: impl RangeBounds<usize>) -> AttributesAdder<'_> {
[INFO] [stdout]     |                                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `coat` (lib test) due to 1 previous error; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ce1af486a50160bdb4e5951f4cbdceaae005285578d33fa1611cc3c5fd843511", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce1af486a50160bdb4e5951f4cbdceaae005285578d33fa1611cc3c5fd843511", kill_on_drop: false }`
[INFO] [stdout] ce1af486a50160bdb4e5951f4cbdceaae005285578d33fa1611cc3c5fd843511
