[INFO] updating cached repository jgbyrne/i3status-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jgbyrne/i3status-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jgbyrne/i3status-rust" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/jgbyrne/i3status-rust"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/jgbyrne/i3status-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jgbyrne/i3status-rust" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/jgbyrne/i3status-rust"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/jgbyrne/i3status-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0916d4ef7ad60c7a931788ee67fef0fbd882d711 [INFO] sha for GitHub repo jgbyrne/i3status-rust: 0916d4ef7ad60c7a931788ee67fef0fbd882d711 [INFO] validating manifest of jgbyrne/i3status-rust on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of jgbyrne/i3status-rust on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing jgbyrne/i3status-rust [INFO] finished frobbing jgbyrne/i3status-rust [INFO] frobbed toml for jgbyrne/i3status-rust written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/jgbyrne/i3status-rust/Cargo.toml [INFO] started frobbing jgbyrne/i3status-rust [INFO] finished frobbing jgbyrne/i3status-rust [INFO] frobbed toml for jgbyrne/i3status-rust written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/jgbyrne/i3status-rust/Cargo.toml [INFO] crate jgbyrne/i3status-rust already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/jgbyrne/i3status-rust/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libpulse-binding v2.7.1 [INFO] [stderr] Downloaded libpulse-sys v1.6.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking jgbyrne/i3status-rust against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-6/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/jgbyrne/i3status-rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 676bc4861e1b709b6171a48abf729ac96fc9e55ec25a33374c0956eda6091f86 [INFO] running `"docker" "start" "-a" "676bc4861e1b709b6171a48abf729ac96fc9e55ec25a33374c0956eda6091f86"` [INFO] [stderr] Compiling libdbus-sys v0.2.0 [INFO] [stderr] Compiling libpulse-sys v1.6.0 [INFO] [stderr] Checking nix v0.8.1 [INFO] [stderr] Checking nix v0.11.1 [INFO] [stderr] Checking inotify v0.5.1 [INFO] [stderr] Checking chan v0.1.23 [INFO] [stderr] Checking i3ipc v0.8.4 [INFO] [stderr] Checking chrono-tz v0.4.1 [INFO] [stderr] Checking dbus v0.6.5 [INFO] [stderr] Checking libpulse-binding v2.7.1 [INFO] [stderr] Checking maildir v0.1.2 [INFO] [stderr] Checking i3status-rs v0.9.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/util.rs:101:72 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn print_blocks(order: &[String], block_map: &HashMap, config: &Config) -> Result<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/block.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | fn view(&self) -> Vec<&I3BarWidget>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/time.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/template.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/load.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/memory.rs:667:28 [INFO] [stderr] | [INFO] [stderr] 667 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/cpu.rs:166:28 [INFO] [stderr] | [INFO] [stderr] 166 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/music.rs:169:28 [INFO] [stderr] | [INFO] [stderr] 169 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/static_music.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/mbackend.rs:51:40 [INFO] [stderr] | [INFO] [stderr] 51 | pub type PlayerData = arg::Variant>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn arg::RefArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:49:40 [INFO] [stderr] | [INFO] [stderr] 49 | current_song: &'w I3BarWidget, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | -> Vec<&'w I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | let mut elements: Vec<&I3BarWidget> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:124:14 [INFO] [stderr] | [INFO] [stderr] 124 | 0...100 => Ok(capacity), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:354:17 [INFO] [stderr] | [INFO] [stderr] 354 | device: Box, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn BatteryDevice` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | let device: Box = if block_config.upower { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn BatteryDevice` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:480:25 [INFO] [stderr] | [INFO] [stderr] 480 | Ok(0...15) => State::Critical, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:481:26 [INFO] [stderr] | [INFO] [stderr] 481 | Ok(16...30) => State::Warning, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:482:26 [INFO] [stderr] | [INFO] [stderr] 482 | Ok(31...60) => State::Info, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:483:26 [INFO] [stderr] | [INFO] [stderr] 483 | Ok(61...100) => State::Good, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:503:28 [INFO] [stderr] | [INFO] [stderr] 503 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/custom.rs:103:28 [INFO] [stderr] | [INFO] [stderr] 103 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/disk_space.rs:251:28 [INFO] [stderr] | [INFO] [stderr] 251 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/pacman.rs:151:28 [INFO] [stderr] | [INFO] [stderr] 151 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/temperature.rs:186:28 [INFO] [stderr] | [INFO] [stderr] 186 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/toggle.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:527:17 [INFO] [stderr] | [INFO] [stderr] 527 | device: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn SoundDevice` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/sound.rs:598:18 [INFO] [stderr] | [INFO] [stderr] 598 | 0...20 => "volume_empty", [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/sound.rs:599:19 [INFO] [stderr] | [INFO] [stderr] 599 | 21...70 => "volume_half", [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:638:25 [INFO] [stderr] | [INFO] [stderr] 638 | let device: Box = match pulseaudio_device { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn SoundDevice` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:667:28 [INFO] [stderr] | [INFO] [stderr] 667 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/speedtest.rs:172:28 [INFO] [stderr] | [INFO] [stderr] 172 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/speedtest.rs:173:27 [INFO] [stderr] | [INFO] [stderr] 173 | let mut new: Vec<&I3BarWidget> = Vec::with_capacity(self.text.len()); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/focused_window.rs:132:28 [INFO] [stderr] | [INFO] [stderr] 132 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/xrandr.rs:251:28 [INFO] [stderr] | [INFO] [stderr] 251 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/net.rs:491:28 [INFO] [stderr] | [INFO] [stderr] 491 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/net.rs:493:35 [INFO] [stderr] | [INFO] [stderr] 493 | let mut widgets: Vec<&I3BarWidget> = Vec::with_capacity(7); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:112:14 [INFO] [stderr] | [INFO] [stderr] 112 | 0...100 => Ok(brightness), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | 0...100 => value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:231:14 [INFO] [stderr] | [INFO] [stderr] 231 | 0...19 => self.output.set_icon("backlight_empty"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:232:15 [INFO] [stderr] | [INFO] [stderr] 232 | 20...39 => self.output.set_icon("backlight_partial1"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:233:15 [INFO] [stderr] | [INFO] [stderr] 233 | 40...59 => self.output.set_icon("backlight_partial2"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:234:15 [INFO] [stderr] | [INFO] [stderr] 234 | 60...79 => self.output.set_icon("backlight_partial3"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:240:28 [INFO] [stderr] | [INFO] [stderr] 240 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | 24 ... 68 => "NE".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | 69 ... 113 => "E".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:155:29 [INFO] [stderr] | [INFO] [stderr] 155 | 114 ... 158 => "SE".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:156:29 [INFO] [stderr] | [INFO] [stderr] 156 | 159 ... 203 => "S".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:157:29 [INFO] [stderr] | [INFO] [stderr] 157 | 204 ... 248 => "SW".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:158:29 [INFO] [stderr] | [INFO] [stderr] 158 | 249 ... 293 => "W".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:159:29 [INFO] [stderr] | [INFO] [stderr] 159 | 294 ... 338 => "NW".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/weather.rs:235:28 [INFO] [stderr] | [INFO] [stderr] 235 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/uptime.rs:114:28 [INFO] [stderr] | [INFO] [stderr] 114 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | 0...50 => State::Good, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | 51...70 => State::Idle, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | 71...75 => State::Info, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:224:19 [INFO] [stderr] | [INFO] [stderr] 224 | 76...80 => State::Warning, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:248:28 [INFO] [stderr] | [INFO] [stderr] 248 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | let mut widgets: Vec<&I3BarWidget> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/maildir.rs:86:28 [INFO] [stderr] | [INFO] [stderr] 86 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/networkmanager.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:80:117 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn create_block(name: &str, block_config: Value, config: Config, tx_update_request: Sender) -> Result> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:116:32 [INFO] [stderr] | [INFO] [stderr] 116 | fn cause(&self) -> Option<&StdError> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn StdError` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scheduler.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn new(blocks: &[Box]) -> UpdateScheduler { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scheduler.rs:75:81 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn do_scheduled_updates(&mut self, block_map: &mut HashMap) -> Result<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:175:29 [INFO] [stderr] | [INFO] [stderr] 175 | let mut blocks: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:199:45 [INFO] [stderr] | [INFO] [stderr] 199 | let mut block_map: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/util.rs:101:72 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn print_blocks(order: &[String], block_map: &HashMap, config: &Config) -> Result<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/block.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | fn view(&self) -> Vec<&I3BarWidget>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/time.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/template.rs:60:28 [INFO] [stderr] | [INFO] [stderr] 60 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/load.rs:117:28 [INFO] [stderr] | [INFO] [stderr] 117 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/memory.rs:667:28 [INFO] [stderr] | [INFO] [stderr] 667 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/cpu.rs:166:28 [INFO] [stderr] | [INFO] [stderr] 166 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/music.rs:169:28 [INFO] [stderr] | [INFO] [stderr] 169 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/static_music.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/mbackend.rs:51:40 [INFO] [stderr] | [INFO] [stderr] 51 | pub type PlayerData = arg::Variant>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn arg::RefArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:49:40 [INFO] [stderr] | [INFO] [stderr] 49 | current_song: &'w I3BarWidget, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | -> Vec<&'w I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/music/utils.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | let mut elements: Vec<&I3BarWidget> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:124:14 [INFO] [stderr] | [INFO] [stderr] 124 | 0...100 => Ok(capacity), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:354:17 [INFO] [stderr] | [INFO] [stderr] 354 | device: Box, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn BatteryDevice` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | let device: Box = if block_config.upower { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn BatteryDevice` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:480:25 [INFO] [stderr] | [INFO] [stderr] 480 | Ok(0...15) => State::Critical, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:481:26 [INFO] [stderr] | [INFO] [stderr] 481 | Ok(16...30) => State::Warning, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:482:26 [INFO] [stderr] | [INFO] [stderr] 482 | Ok(31...60) => State::Info, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/battery.rs:483:26 [INFO] [stderr] | [INFO] [stderr] 483 | Ok(61...100) => State::Good, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/battery.rs:503:28 [INFO] [stderr] | [INFO] [stderr] 503 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/custom.rs:103:28 [INFO] [stderr] | [INFO] [stderr] 103 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/disk_space.rs:251:28 [INFO] [stderr] | [INFO] [stderr] 251 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/pacman.rs:151:28 [INFO] [stderr] | [INFO] [stderr] 151 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/temperature.rs:186:28 [INFO] [stderr] | [INFO] [stderr] 186 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/toggle.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:527:17 [INFO] [stderr] | [INFO] [stderr] 527 | device: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn SoundDevice` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/sound.rs:598:18 [INFO] [stderr] | [INFO] [stderr] 598 | 0...20 => "volume_empty", [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/sound.rs:599:19 [INFO] [stderr] | [INFO] [stderr] 599 | 21...70 => "volume_half", [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:638:25 [INFO] [stderr] | [INFO] [stderr] 638 | let device: Box = match pulseaudio_device { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn SoundDevice` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/sound.rs:667:28 [INFO] [stderr] | [INFO] [stderr] 667 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/speedtest.rs:172:28 [INFO] [stderr] | [INFO] [stderr] 172 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/speedtest.rs:173:27 [INFO] [stderr] | [INFO] [stderr] 173 | let mut new: Vec<&I3BarWidget> = Vec::with_capacity(self.text.len()); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/focused_window.rs:132:28 [INFO] [stderr] | [INFO] [stderr] 132 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/xrandr.rs:251:28 [INFO] [stderr] | [INFO] [stderr] 251 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/net.rs:491:28 [INFO] [stderr] | [INFO] [stderr] 491 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/net.rs:493:35 [INFO] [stderr] | [INFO] [stderr] 493 | let mut widgets: Vec<&I3BarWidget> = Vec::with_capacity(7); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:112:14 [INFO] [stderr] | [INFO] [stderr] 112 | 0...100 => Ok(brightness), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:130:14 [INFO] [stderr] | [INFO] [stderr] 130 | 0...100 => value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:231:14 [INFO] [stderr] | [INFO] [stderr] 231 | 0...19 => self.output.set_icon("backlight_empty"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:232:15 [INFO] [stderr] | [INFO] [stderr] 232 | 20...39 => self.output.set_icon("backlight_partial1"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:233:15 [INFO] [stderr] | [INFO] [stderr] 233 | 40...59 => self.output.set_icon("backlight_partial2"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:234:15 [INFO] [stderr] | [INFO] [stderr] 234 | 60...79 => self.output.set_icon("backlight_partial3"), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/backlight.rs:240:28 [INFO] [stderr] | [INFO] [stderr] 240 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:153:28 [INFO] [stderr] | [INFO] [stderr] 153 | 24 ... 68 => "NE".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | 69 ... 113 => "E".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:155:29 [INFO] [stderr] | [INFO] [stderr] 155 | 114 ... 158 => "SE".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:156:29 [INFO] [stderr] | [INFO] [stderr] 156 | 159 ... 203 => "S".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:157:29 [INFO] [stderr] | [INFO] [stderr] 157 | 204 ... 248 => "SW".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:158:29 [INFO] [stderr] | [INFO] [stderr] 158 | 249 ... 293 => "W".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/weather.rs:159:29 [INFO] [stderr] | [INFO] [stderr] 159 | 294 ... 338 => "NW".to_string(), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/weather.rs:235:28 [INFO] [stderr] | [INFO] [stderr] 235 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/uptime.rs:114:28 [INFO] [stderr] | [INFO] [stderr] 114 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | 0...50 => State::Good, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:222:19 [INFO] [stderr] | [INFO] [stderr] 222 | 51...70 => State::Idle, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | 71...75 => State::Info, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:224:19 [INFO] [stderr] | [INFO] [stderr] 224 | 76...80 => State::Warning, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:248:28 [INFO] [stderr] | [INFO] [stderr] 248 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | let mut widgets: Vec<&I3BarWidget> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/maildir.rs:86:28 [INFO] [stderr] | [INFO] [stderr] 86 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/networkmanager.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | fn view(&self) -> Vec<&I3BarWidget> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn I3BarWidget` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:80:117 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn create_block(name: &str, block_config: Value, config: Config, tx_update_request: Sender) -> Result> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/blocks/mod.rs:65:90 [INFO] [stderr] | [INFO] [stderr] 65 | Ok(Box::new($block_type::new(block_config, $config, $tx_update_request)?) as Box) [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] ... [INFO] [stderr] 81 | / blocks!(name, block_config, config, tx_update_request; [INFO] [stderr] 82 | | "time" => Time, [INFO] [stderr] 83 | | "template" => Template, [INFO] [stderr] 84 | | "music" => Music, [INFO] [stderr] ... | [INFO] [stderr] 105 | | "networkmanager" => NetworkManager [INFO] [stderr] 106 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:116:32 [INFO] [stderr] | [INFO] [stderr] 116 | fn cause(&self) -> Option<&StdError> { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn StdError` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scheduler.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn new(blocks: &[Box]) -> UpdateScheduler { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/scheduler.rs:75:81 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn do_scheduled_updates(&mut self, block_map: &mut HashMap) -> Result<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:175:29 [INFO] [stderr] | [INFO] [stderr] 175 | let mut blocks: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:199:45 [INFO] [stderr] | [INFO] [stderr] 199 | let mut block_map: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Block` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left': superseded by `trim_start` [INFO] [stderr] --> src/blocks/toggle.rs:94:41 [INFO] [stderr] | [INFO] [stderr] 94 | self.text.set_icon(match output.trim_left() { [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `trim_start` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'pulse::proplist::Proplist::sets': `sets()` has been renamed to `set_str()` [INFO] [stderr] --> src/blocks/sound.rs:216:18 [INFO] [stderr] | [INFO] [stderr] 216 | proplist.sets(properties::APPLICATION_NAME, "i3status-rs") [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left': superseded by `trim_start` [INFO] [stderr] --> src/blocks/toggle.rs:94:41 [INFO] [stderr] | [INFO] [stderr] 94 | self.text.set_icon(match output.trim_left() { [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `trim_start` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'pulse::proplist::Proplist::sets': `sets()` has been renamed to `set_str()` [INFO] [stderr] --> src/blocks/sound.rs:216:18 [INFO] [stderr] | [INFO] [stderr] 216 | proplist.sets(properties::APPLICATION_NAME, "i3status-rs") [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0283]: type annotations required: cannot resolve `std::string::String: std::convert::AsRef<_>` [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:240:52 [INFO] [stderr] | [INFO] [stderr] 240 | self.gpu_widget.set_text(self.gpu_name.as_ref()); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0283]: type annotations required: cannot resolve `std::string::String: std::convert::AsRef<_>` [INFO] [stderr] --> src/blocks/nvidia_gpu.rs:240:52 [INFO] [stderr] | [INFO] [stderr] 240 | self.gpu_widget.set_text(self.gpu_name.as_ref()); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/input.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | let slice = input.trim_left_matches(|c| c != '{'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/input.rs:49:27 [INFO] [stderr] | [INFO] [stderr] 49 | let slice = slice.trim_right_matches(|c| c != '}'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/input.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | let slice = input.trim_left_matches(|c| c != '{'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/input.rs:49:27 [INFO] [stderr] | [INFO] [stderr] 49 | let slice = slice.trim_right_matches(|c| c != '}'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0283`. [INFO] [stderr] error: Could not compile `i3status-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0283`. [INFO] [stderr] error: Could not compile `i3status-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "676bc4861e1b709b6171a48abf729ac96fc9e55ec25a33374c0956eda6091f86"` [INFO] running `"docker" "rm" "-f" "676bc4861e1b709b6171a48abf729ac96fc9e55ec25a33374c0956eda6091f86"` [INFO] [stdout] 676bc4861e1b709b6171a48abf729ac96fc9e55ec25a33374c0956eda6091f86