[INFO] cloning repository https://github.com/bvinc/gxi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bvinc/gxi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbvinc%2Fgxi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbvinc%2Fgxi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 47d52cb536e6fa9b3c6ca2b6efb49e0efea30054
[INFO] checking bvinc/gxi against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbvinc%2Fgxi" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bvinc/gxi on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bvinc/gxi
[INFO] finished tweaking git repo https://github.com/bvinc/gxi
[INFO] tweaked toml for git repo https://github.com/bvinc/gxi written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/bvinc/gxi already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr]     Updating git repository `https://github.com/google/xi-editor`
[INFO] [stderr]     Updating git submodule `https://github.com/xi-editor/syntect-resources`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pangocairo v0.9.0
[INFO] [stderr]   Downloaded pangocairo-sys v0.10.1
[INFO] [stderr]   Downloaded bytecount v0.6.0
[INFO] [stderr]   Downloaded servo-fontconfig v0.5.0
[INFO] [stderr]   Downloaded filetime v0.2.10
[INFO] [stderr]   Downloaded notify v5.0.0-pre.1
[INFO] [stderr]   Downloaded freetype-sys v0.12.0
[INFO] [stderr]   Downloaded dirs-next v1.0.0
[INFO] [stderr]   Downloaded servo-fontconfig-sys v5.0.2
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b10dc53d9791da697b2d0c1127acc159e615a0a2bf73d2b598c4501ce23e671
[INFO] running `Command { std: "docker" "start" "-a" "4b10dc53d9791da697b2d0c1127acc159e615a0a2bf73d2b598c4501ce23e671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b10dc53d9791da697b2d0c1127acc159e615a0a2bf73d2b598c4501ce23e671", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b10dc53d9791da697b2d0c1127acc159e615a0a2bf73d2b598c4501ce23e671", kill_on_drop: false }`
[INFO] [stdout] 4b10dc53d9791da697b2d0c1127acc159e615a0a2bf73d2b598c4501ce23e671
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d0acadab8bde06479b42159863da6e821c62e85477d5eb25c7939fdaa2eb8e9
[INFO] running `Command { std: "docker" "start" "-a" "7d0acadab8bde06479b42159863da6e821c62e85477d5eb25c7939fdaa2eb8e9", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression.
[INFO] [stderr] `license-file` should be used if the package uses a non-standard license.
[INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling proc-macro2 v1.0.13
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.22
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling cc v1.0.53
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling proc-macro-nested v0.1.4
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]     Checking once_cell v1.4.0
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking futures-channel v0.3.5
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]     Checking futures-task v0.3.5
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]    Compiling pango v0.8.0
[INFO] [stderr]    Compiling gio v0.8.1
[INFO] [stderr]    Compiling cairo-rs v0.8.1
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling cmake v0.1.44
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]    Compiling glib-sys v0.9.1
[INFO] [stderr]    Compiling gobject-sys v0.9.1
[INFO] [stderr]    Compiling pango-sys v0.9.1
[INFO] [stderr]    Compiling gio-sys v0.9.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.9.2
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.9.1
[INFO] [stderr]    Compiling gdk-sys v0.9.1
[INFO] [stderr]    Compiling atk-sys v0.9.1
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]    Compiling gtk-sys v0.9.2
[INFO] [stderr]    Compiling pangocairo-sys v0.10.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]     Checking regex-syntax v0.6.17
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]    Compiling gdk-pixbuf v0.8.0
[INFO] [stderr]     Checking futures-io v0.3.5
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking line-wrap v0.1.1
[INFO] [stderr]     Checking miniz_oxide v0.3.6
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling freetype-sys v0.12.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.37
[INFO] [stderr]     Checking inotify-sys v0.1.3
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.0.2
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling gdk v0.12.1
[INFO] [stderr]    Compiling atk v0.8.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking xml-rs v0.8.3
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]     Checking inotify v0.7.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking filetime v0.2.10
[INFO] [stderr]    Compiling pangocairo v0.9.0
[INFO] [stderr]     Checking unicode-segmentation v1.6.0
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking bytecount v0.6.0
[INFO] [stderr]    Compiling gtk v0.8.1
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking parking_lot v0.4.8
[INFO] [stderr]     Checking dirs-sys-next v0.1.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking xi-unicode v0.2.0 (https://github.com/google/xi-editor?rev=65911d9#65911d91)
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking servo-fontconfig v0.5.0
[INFO] [stderr]     Checking dirs-next v1.0.0
[INFO] [stderr]     Checking mio v0.7.0
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]     Checking chashmap v2.2.2
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking notify v5.0.0-pre.1
[INFO] [stderr]     Checking regex v1.3.7
[INFO] [stderr]     Checking backtrace v0.3.41
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling pin-project-internal v0.4.17
[INFO] [stderr]    Compiling futures-macro v0.3.5
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking pin-project v0.4.17
[INFO] [stderr]     Checking futures-util v0.3.5
[INFO] [stderr]     Checking futures-executor v0.3.5
[INFO] [stderr]     Checking glib v0.9.3
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking plist v0.4.2
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stderr]     Checking xi-rope v0.3.0 (https://github.com/google/xi-editor?rev=65911d9#65911d91)
[INFO] [stderr]     Checking xi-trace v0.2.0 (https://github.com/google/xi-editor?rev=65911d9#65911d91)
[INFO] [stderr]     Checking syntect v3.3.0
[INFO] [stderr]     Checking xi-rpc v0.3.0 (https://github.com/google/xi-editor?rev=65911d9#65911d91)
[INFO] [stderr]     Checking xi-core-lib v0.3.0 (https://github.com/google/xi-editor?rev=65911d9#65911d91)
[INFO] [stderr]     Checking gxi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::rpc::Core`
[INFO] [stdout]  --> src/prefs_win.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::rpc::Core;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::StaticType`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use glib::StaticType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScrollablePolicy`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:17:48
[INFO] [stdout]    |
[INFO] [stdout] 17 | use gtk::{Adjustment, DrawingArea, Scrollable, ScrollablePolicy};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GtkAdjustment`, `GtkDrawingArea`, `GtkWidget`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use gtk_sys::{GtkAdjustment, GtkDrawingArea, GtkWidget};
[INFO] [stdout]    |               ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::c_int`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use libc::c_int;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::cell::Cell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::Cast`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use glib::Cast;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GtkWidget`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:54:71
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use gtk_sys::{GtkAdjustment, GtkDrawingArea, GtkDrawingAreaClass, GtkWidget};
[INFO] [stdout]    |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:71:81
[INFO] [stdout]    |
[INFO] [stdout] 71 |             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> (())>,
[INFO] [stdout]    |                                                                                 ^  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> (())>,
[INFO] [stdout] 71 +             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> ()>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:128:41
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn value_changed_impl(&self) -> (()) {
[INFO] [stdout]     |                                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         fn value_changed_impl(&self) -> (()) {
[INFO] [stdout] 128 +         fn value_changed_impl(&self) -> () {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:291:14
[INFO] [stdout]     |
[INFO] [stdout] 291 |         ) -> (()) {
[INFO] [stdout]     |              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -         ) -> (()) {
[INFO] [stdout] 291 +         ) -> () {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:458:46
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout]     |                                              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 458 -     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout] 458 +     fn connect_value_changed<F: Fn(&Self) -> () + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:472:46
[INFO] [stdout]     |
[INFO] [stdout] 472 |     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout]     |                                              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 472 -     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout] 472 +     fn connect_value_changed<F: Fn(&Self) -> () + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:474:41
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 474 -             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout] 474 +             let f: Box<Box<Fn(&Self) -> () + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:576:6
[INFO] [stdout]     |
[INFO] [stdout] 576 | ) -> (())
[INFO] [stdout]     |      ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 576 - ) -> (())
[INFO] [stdout] 576 + ) -> ()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:582:25
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 582 -     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout] 582 +     let f: &&(Fn(&P) -> () + 'static) = mem::transmute(f);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arg`, `SubCommand`
[INFO] [stdout]   --> src/main.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | use clap::{Arg, SubCommand};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rpc::Core`
[INFO] [stdout]  --> src/prefs_win.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::rpc::Core;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::StaticType`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use glib::StaticType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScrollablePolicy`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:17:48
[INFO] [stdout]    |
[INFO] [stdout] 17 | use gtk::{Adjustment, DrawingArea, Scrollable, ScrollablePolicy};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GtkAdjustment`, `GtkDrawingArea`, `GtkWidget`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use gtk_sys::{GtkAdjustment, GtkDrawingArea, GtkWidget};
[INFO] [stdout]    |               ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::c_int`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use libc::c_int;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::cell::Cell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glib::Cast`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use glib::Cast;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GtkWidget`
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:54:71
[INFO] [stdout]    |
[INFO] [stdout] 54 |     use gtk_sys::{GtkAdjustment, GtkDrawingArea, GtkDrawingAreaClass, GtkWidget};
[INFO] [stdout]    |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:71:81
[INFO] [stdout]    |
[INFO] [stdout] 71 |             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> (())>,
[INFO] [stdout]    |                                                                                 ^  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> (())>,
[INFO] [stdout] 71 +             Option<unsafe extern "C" fn(this: *mut ScrollableDrawingAreaFfi) -> ()>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:128:41
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fn value_changed_impl(&self) -> (()) {
[INFO] [stdout]     |                                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -         fn value_changed_impl(&self) -> (()) {
[INFO] [stdout] 128 +         fn value_changed_impl(&self) -> () {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:291:14
[INFO] [stdout]     |
[INFO] [stdout] 291 |         ) -> (()) {
[INFO] [stdout]     |              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -         ) -> (()) {
[INFO] [stdout] 291 +         ) -> () {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:458:46
[INFO] [stdout]     |
[INFO] [stdout] 458 |     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout]     |                                              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 458 -     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout] 458 +     fn connect_value_changed<F: Fn(&Self) -> () + 'static>(&self, f: F) -> glib::SignalHandlerId;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:472:46
[INFO] [stdout]     |
[INFO] [stdout] 472 |     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout]     |                                              ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 472 -     fn connect_value_changed<F: Fn(&Self) -> (()) + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout] 472 +     fn connect_value_changed<F: Fn(&Self) -> () + 'static>(&self, f: F) -> glib::SignalHandlerId {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:474:41
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 474 -             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout] 474 +             let f: Box<Box<Fn(&Self) -> () + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:576:6
[INFO] [stdout]     |
[INFO] [stdout] 576 | ) -> (())
[INFO] [stdout]     |      ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 576 - ) -> (())
[INFO] [stdout] 576 + ) -> ()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:582:25
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |                         ^  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 582 -     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout] 582 +     let f: &&(Fn(&P) -> () + 'static) = mem::transmute(f);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arg`, `SubCommand`
[INFO] [stdout]   --> src/main.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | use clap::{Arg, SubCommand};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:411:31
[INFO] [stdout]     |
[INFO] [stdout] 411 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 |         static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 414 |         static ONCE: Once = Once::new();
[INFO] [stdout]     |                             ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<F: FnOnce(&Any) + Send> IdleCallback for F {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<F: FnOnce(&dyn Any) + Send> IdleCallback for F {
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:49:34
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn call(self: Box<Self>, a: &Any);
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn call(self: Box<Self>, a: &dyn Any);
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn call(self: Box<F>, a: &Any) {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn call(self: Box<F>, a: &dyn Any) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:411:31
[INFO] [stdout]     |
[INFO] [stdout] 411 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:414:29
[INFO] [stdout]     |
[INFO] [stdout] 414 |         static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 414 |         static ONCE: Once = Once::new();
[INFO] [stdout]     |                             ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<F: FnOnce(&Any) + Send> IdleCallback for F {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<F: FnOnce(&dyn Any) + Send> IdleCallback for F {
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:49:34
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn call(self: Box<Self>, a: &Any);
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn call(self: Box<Self>, a: &dyn Any);
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn call(self: Box<F>, a: &Any) {
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn call(self: Box<F>, a: &dyn Any) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk::AdjustmentExt::value_changed`
[INFO] [stdout]    --> src/edit_view.rs:702:18
[INFO] [stdout]     |
[INFO] [stdout] 702 |             hadj.value_changed();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk::AdjustmentExt::value_changed`
[INFO] [stdout]    --> src/edit_view.rs:702:18
[INFO] [stdout]     |
[INFO] [stdout] 702 |             hadj.value_changed();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:138:54
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let params: &[glib::Value] = &[(self as &glib::ToValue).to_value()];
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let params: &[glib::Value] = &[(self as &dyn glib::ToValue).to_value()];
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<dyn Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:582:15
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(dyn Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:138:54
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let params: &[glib::Value] = &[(self as &glib::ToValue).to_value()];
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let params: &[glib::Value] = &[(self as &dyn glib::ToValue).to_value()];
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:250:73
[INFO] [stdout]     |
[INFO] [stdout] 250 |         search_entry.connect_activate(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:254:76
[INFO] [stdout]     |
[INFO] [stdout] 254 |         search_entry.connect_stop_search(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:268:74
[INFO] [stdout]     |
[INFO] [stdout] 268 |         replace_button.connect_clicked(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                          ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:272:78
[INFO] [stdout]     |
[INFO] [stdout] 272 |         replace_all_button.connect_clicked(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                              ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:474:28
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let f: Box<Box<dyn Fn(&Self) -> (()) + 'static>> = Box::new(Box::new(f));
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:582:15
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 582 |     let f: &&(dyn Fn(&P) -> (()) + 'static) = mem::transmute(f);
[INFO] [stdout]     |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_width`
[INFO] [stdout]    --> src/edit_view.rs:362:14
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let (text_width, text_height, vadj, hadj) = {
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hadj`
[INFO] [stdout]    --> src/edit_view.rs:362:45
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let (text_width, text_height, vadj, hadj) = {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_hadj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padding`
[INFO] [stdout]    --> src/edit_view.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let padding: usize = format!("{}", num_lines.saturating_sub(1)).len();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_state`
[INFO] [stdout]    --> src/edit_view.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |         main_state: &MainState,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `es`
[INFO] [stdout]    --> src/edit_view.rs:911:37
[INFO] [stdout]     |
[INFO] [stdout] 911 |     pub fn handle_scroll(&mut self, es: &EventScroll) -> Inhibit {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_es`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:250:73
[INFO] [stdout]     |
[INFO] [stdout] 250 |         search_entry.connect_activate(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:254:76
[INFO] [stdout]     |
[INFO] [stdout] 254 |         search_entry.connect_stop_search(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:268:74
[INFO] [stdout]     |
[INFO] [stdout] 268 |         replace_button.connect_clicked(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                          ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/edit_view.rs:272:78
[INFO] [stdout]     |
[INFO] [stdout] 272 |         replace_all_button.connect_clicked(clone!(@strong edit_view => move |w| {
[INFO] [stdout]     |                                                                              ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text_width`
[INFO] [stdout]    --> src/edit_view.rs:362:14
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let (text_width, text_height, vadj, hadj) = {
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hadj`
[INFO] [stdout]    --> src/edit_view.rs:362:45
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let (text_width, text_height, vadj, hadj) = {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_hadj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padding`
[INFO] [stdout]    --> src/edit_view.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let padding: usize = format!("{}", num_lines.saturating_sub(1)).len();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_state`
[INFO] [stdout]    --> src/edit_view.rs:712:9
[INFO] [stdout]     |
[INFO] [stdout] 712 |         main_state: &MainState,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `es`
[INFO] [stdout]    --> src/edit_view.rs:911:37
[INFO] [stdout]     |
[INFO] [stdout] 911 |     pub fn handle_scroll(&mut self, es: &EventScroll) -> Inhibit {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_es`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefs_win`
[INFO] [stdout]    --> src/main_win.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let prefs_win = PrefsWin::new(&self.window, &main_state, controller.clone());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefs_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font_combo_box`
[INFO] [stdout]   --> src/prefs_win.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let font_combo_box: ComboBoxText = builder.get_object("font_combo_box").unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_font_combo_box`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefs_win`
[INFO] [stdout]    --> src/main_win.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let prefs_win = PrefsWin::new(&self.window, &main_state, controller.clone());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefs_win`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font_combo_box`
[INFO] [stdout]   --> src/prefs_win.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let font_combo_box: ComboBoxText = builder.get_object("font_combo_box").unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_font_combo_box`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:156:29
[INFO] [stdout]     |
[INFO] [stdout] 156 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:170:29
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:177:29
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `application`
[INFO] [stdout]    --> src/main.rs:187:69
[INFO] [stdout]     |
[INFO] [stdout] 187 |     application.connect_activate(clone!(@strong controller => move |application| {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_application`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:193:73
[INFO] [stdout]     |
[INFO] [stdout] 193 |     application.connect_open(clone!(@strong controller => move |_,files,s| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `observers` is never read
[INFO] [stdout]    --> src/channel/mod.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct _EventStream<MSG> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     observers: Vec<Rc<dyn Fn(&MSG)>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_callback` and `get_stream` are never used
[INFO] [stdout]    --> src/channel/mod.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<MSG> EventStream<MSG> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 179 |     fn get_callback(&self) -> Rc<RefCell<Option<Box<dyn FnMut(MSG)>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn get_stream(&self) -> Rc<RefCell<_EventStream<MSG>>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `close`, `emit`, `lock`, `observe`, and `set_callback` are never used
[INFO] [stdout]    --> src/channel/mod.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl<MSG> EventStream<MSG> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 189 |     /// Create a new event stream.
[INFO] [stdout] 190 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn close(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn emit(&self, event: MSG) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn lock(&self) -> Lock<MSG> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn observe<CALLBACK: Fn(&MSG) + 'static>(&self, callback: CALLBACK) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn set_callback<CALLBACK: FnMut(MSG) + 'static>(&self, callback: CALLBACK) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_get` is never used
[INFO] [stdout]   --> src/channel/source.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn source_get<T: SourceFuncs>(source: &Source) -> &T {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/controller.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl Controller {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn save(&self, view_id: &str, file_path: &str) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `map` is never read
[INFO] [stdout]   --> src/linecache.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct LineCache {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 73 |     map: HashMap<u64, Line>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LineCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_missing` is never used
[INFO] [stdout]    --> src/linecache.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl LineCache {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_missing(&self, first: u64, last: u64) -> Vec<(u64, u64)> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `builder` is never read
[INFO] [stdout]   --> src/main_win.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MainWin {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     builder: Builder,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `controller` and `window` are never read
[INFO] [stdout]   --> src/prefs_win.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PrefsWin {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 12 |     controller: ControllerRef,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     window: Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_theme`, `gesture_multi_line_select`, `gesture_multi_word_select`, and `highlight_find` are never used
[INFO] [stdout]    --> src/rpc.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 39  | impl Core {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn set_theme(&self, theme_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn gesture_multi_line_select(&self, view_id: &str, line: u64, col: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn gesture_multi_word_select(&self, view_id: &str, line: u64, col: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 473 |     pub fn highlight_find(&self, view_id: &str, visible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `hadjustment`, `hscroll_policy`, `vadjustment`, and `vscroll_policy` are never constructed
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     enum Properties {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 80 |         hadjustment = 1u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 81 |         hscroll_policy = 2u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 82 |         vadjustment = 3u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 83 |         vscroll_policy = 4u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Properties` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         self.sender.send(CoreMsg::Notification {
[INFO] [stdout] 108 | |             method: method2,
[INFO] [stdout] 109 | |             params: params2,
[INFO] [stdout] 110 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let _ = self.sender.send(CoreMsg::Notification {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:326:58
[INFO] [stdout]     |
[INFO] [stdout] 326 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]     = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:327:58
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:328:58
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:333:61
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:334:61
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:341:58
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:342:58
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:343:58
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:348:61
[INFO] [stdout]     |
[INFO] [stdout] 348 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:349:61
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:350:61
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:156:29
[INFO] [stdout]     |
[INFO] [stdout] 156 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:163:29
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:170:29
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:177:29
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         let mut private = self.get_priv();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 68 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `application`
[INFO] [stdout]    --> src/main.rs:187:69
[INFO] [stdout]     |
[INFO] [stdout] 187 |     application.connect_activate(clone!(@strong controller => move |application| {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_application`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:193:73
[INFO] [stdout]     |
[INFO] [stdout] 193 |     application.connect_open(clone!(@strong controller => move |_,files,s| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `observers` is never read
[INFO] [stdout]    --> src/channel/mod.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | struct _EventStream<MSG> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     observers: Vec<Rc<dyn Fn(&MSG)>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_callback` and `get_stream` are never used
[INFO] [stdout]    --> src/channel/mod.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<MSG> EventStream<MSG> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 179 |     fn get_callback(&self) -> Rc<RefCell<Option<Box<dyn FnMut(MSG)>>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn get_stream(&self) -> Rc<RefCell<_EventStream<MSG>>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `close`, `emit`, `lock`, `observe`, and `set_callback` are never used
[INFO] [stdout]    --> src/channel/mod.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl<MSG> EventStream<MSG> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 189 |     /// Create a new event stream.
[INFO] [stdout] 190 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn close(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn emit(&self, event: MSG) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn lock(&self) -> Lock<MSG> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn observe<CALLBACK: Fn(&MSG) + 'static>(&self, callback: CALLBACK) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn set_callback<CALLBACK: FnMut(MSG) + 'static>(&self, callback: CALLBACK) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_get` is never used
[INFO] [stdout]   --> src/channel/source.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn source_get<T: SourceFuncs>(source: &Source) -> &T {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/controller.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl Controller {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn save(&self, view_id: &str, file_path: &str) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `map` is never read
[INFO] [stdout]   --> src/linecache.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct LineCache {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 73 |     map: HashMap<u64, Line>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LineCache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_missing` is never used
[INFO] [stdout]    --> src/linecache.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl LineCache {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_missing(&self, first: u64, last: u64) -> Vec<(u64, u64)> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `builder` is never read
[INFO] [stdout]   --> src/main_win.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MainWin {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     builder: Builder,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `controller` and `window` are never read
[INFO] [stdout]   --> src/prefs_win.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PrefsWin {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 12 |     controller: ControllerRef,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     window: Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_theme`, `gesture_multi_line_select`, `gesture_multi_word_select`, and `highlight_find` are never used
[INFO] [stdout]    --> src/rpc.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 39  | impl Core {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn set_theme(&self, theme_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn gesture_multi_line_select(&self, view_id: &str, line: u64, col: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn gesture_multi_word_select(&self, view_id: &str, line: u64, col: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 473 |     pub fn highlight_find(&self, view_id: &str, visible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `hadjustment`, `hscroll_policy`, `vadjustment`, and `vscroll_policy` are never constructed
[INFO] [stdout]   --> src/scrollable_drawing_area.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     enum Properties {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 80 |         hadjustment = 1u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 81 |         hscroll_policy = 2u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 82 |         vadjustment = 3u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 83 |         vscroll_policy = 4u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Properties` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | /         self.sender.send(CoreMsg::Notification {
[INFO] [stdout] 108 | |             method: method2,
[INFO] [stdout] 109 | |             params: params2,
[INFO] [stdout] 110 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let _ = self.sender.send(CoreMsg::Notification {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:326:58
[INFO] [stdout]     |
[INFO] [stdout] 326 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]     = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:327:58
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:328:58
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     CString::new("hadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:333:61
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:334:61
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:335:61
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     CString::new("hscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:341:58
[INFO] [stdout]     |
[INFO] [stdout] 341 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:342:58
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:343:58
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     CString::new("vadjustment").unwrap().as_ptr(),
[INFO] [stdout]     |                     ------------------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:348:61
[INFO] [stdout]     |
[INFO] [stdout] 348 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:349:61
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/scrollable_drawing_area.rs:350:61
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     CString::new("vscroll-policy").unwrap().as_ptr(),
[INFO] [stdout]     |                     --------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 68 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 37.83s
[INFO] running `Command { std: "docker" "inspect" "7d0acadab8bde06479b42159863da6e821c62e85477d5eb25c7939fdaa2eb8e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d0acadab8bde06479b42159863da6e821c62e85477d5eb25c7939fdaa2eb8e9", kill_on_drop: false }`
[INFO] [stdout] 7d0acadab8bde06479b42159863da6e821c62e85477d5eb25c7939fdaa2eb8e9
