[INFO] fetching crate liner 0.4.4...
[INFO] checking liner-0.4.4 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate liner 0.4.4 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate liner 0.4.4 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate liner 0.4.4
[INFO] finished tweaking crates.io crate liner 0.4.4
[INFO] tweaked toml for crates.io crate liner 0.4.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 9 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding bytecount v0.1.7 (latest: v0.6.8)
[INFO] [stderr]       Adding numtoa v0.1.0 (latest: v0.2.4)
[INFO] [stderr]       Adding redox_syscall v0.2.16 (latest: v0.5.1)
[INFO] [stderr]       Adding termion v1.5.6 (latest: v3.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytecount v0.1.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 00553090b4dde861335a3b8319fff1a9bfe3b0415c5d6153925ad43e7769ee91
[INFO] running `Command { std: "docker" "start" "-a" "00553090b4dde861335a3b8319fff1a9bfe3b0415c5d6153925ad43e7769ee91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "00553090b4dde861335a3b8319fff1a9bfe3b0415c5d6153925ad43e7769ee91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00553090b4dde861335a3b8319fff1a9bfe3b0415c5d6153925ad43e7769ee91", kill_on_drop: false }`
[INFO] [stdout] 00553090b4dde861335a3b8319fff1a9bfe3b0415c5d6153925ad43e7769ee91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a949f922f063ae75173e198ca85457eb0448b5de64650e0d3898048b9ea0ced
[INFO] running `Command { std: "docker" "start" "-a" "6a949f922f063ae75173e198ca85457eb0448b5de64650e0d3898048b9ea0ced", kill_on_drop: false }`
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]     Checking bytecount v0.1.7
[INFO] [stderr]     Checking termion v1.5.6
[INFO] [stderr]     Checking liner v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         try!(ed.display());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(self.out.write(b"\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let (w, _) = try!(termion::terminal_size());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout]     |                           ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 225 -         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout] 225 +         let cols = max(1, w as usize / (max_word_size));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |             try!(write!(self.out, "{:<1$}", com, col_width));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:301:17
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 try!(self.print_completion_list(&completions[..]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:302:17
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 try!(self.display());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         try!(write!(self.out, "{}{}", clear::All, cursor::Goto(1, 1)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 670 |         try!(write!(self.out, "\r{}{}", clear::AfterCursor, self.prompt));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:618:52
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 let (mut size_col, mut size_row) = try!(termion::terminal_size());
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:663:13
[INFO] [stdout]     |
[INFO] [stdout] 663 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:688:17
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 try!(write!(self.out, "{}", cursor::Right(prompt_width as u16)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:714:13
[INFO] [stdout]     |
[INFO] [stdout] 714 |             try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |             try!(write!(self.out, "{}", cursor::Up(cursor_line_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:733:13
[INFO] [stdout]     |
[INFO] [stdout] 733 |             try!(write!(self.out, "{}", cursor::Left(cursor_col_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/context.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/context.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if try!(keymap.handle_key(c.unwrap(), handler)) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/buffer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(f.write_char(c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/buffer.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         try!(out.write(string.as_bytes()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let file = try!(OpenOptions::new().read(true).open(file_name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     try!(file.seek(SeekFrom::End(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     try!(file.write_all(String::from(new_item.clone()).as_bytes()));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     try!(file.write_all(b"\n"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.editor_mut().flush());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Key::Char('\t') => try!(self.editor_mut().complete(handler)),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 done = try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 try!(self.handle_key_core(key));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:217:6
[INFO] [stdout]     |
[INFO] [stdout] 217 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     Exclusive => try!(self.ed.delete_until(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:383:34
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Inclusive => try!(self.ed.delete_until_inclusive(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             try!(self.handle_key_core(insert_key));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |             try!(self.handle_key_core(*k));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |             try!(self.handle_key_core(Key::Esc));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 496 | ...                   try!(self.handle_key_core(k));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:592:17
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 try!(self.ed.move_cursor_left(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 try!(self.ed.move_cursor_right(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:666:17
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:670:17
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:693:17
[INFO] [stdout]     |
[INFO] [stdout] 693 |                 try!(move_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:698:17
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 try!(move_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:703:17
[INFO] [stdout]     |
[INFO] [stdout] 703 |                 try!(move_to_end_of_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:708:17
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 try!(move_to_end_of_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:713:17
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 try!(move_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:718:17
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 try!(move_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:730:30
[INFO] [stdout]     |
[INFO] [stdout] 730 |             Key::Char(i @ '0'...'9') => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:739:17
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 try!(self.ed.move_cursor_to_end_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:765:25
[INFO] [stdout]     |
[INFO] [stdout] 765 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:767:29
[INFO] [stdout]     |
[INFO] [stdout] 767 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:771:25
[INFO] [stdout]     |
[INFO] [stdout] 771 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:773:29
[INFO] [stdout]     |
[INFO] [stdout] 773 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:777:25
[INFO] [stdout]     |
[INFO] [stdout] 777 |                         try!(self.ed.move_cursor_right(1));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:787:31
[INFO] [stdout]     |
[INFO] [stdout] 787 |                     let did = try!(self.ed.undo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:798:31
[INFO] [stdout]     |
[INFO] [stdout] 798 |                     let did = try!(self.ed.redo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:829:21
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:825:25
[INFO] [stdout]     |
[INFO] [stdout] 825 |                         try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:867:27
[INFO] [stdout]     |
[INFO] [stdout] 867 |             (Key::Char('0'...'9'), _) => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:881:17
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 try!(self.ed.delete_all_after_cursor());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:929:17
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 try!(match movement {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:978:17
[INFO] [stdout]     |
[INFO] [stdout] 978 |                 try!(move_to_end_of_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:982:17
[INFO] [stdout]     |
[INFO] [stdout] 982 |                 try!(move_to_end_of_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 try!(self.ed.undo());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 try!(self.ed.revert());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/event.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = dyn FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<Completer>>,
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<dyn Completer>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         try!(ed.display());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(self.out.write(b"\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let (w, _) = try!(termion::terminal_size());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout]     |                           ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 225 -         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout] 225 +         let cols = max(1, w as usize / (max_word_size));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |             try!(write!(self.out, "{:<1$}", com, col_width));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:301:17
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 try!(self.print_completion_list(&completions[..]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:302:17
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 try!(self.display());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         try!(write!(self.out, "{}{}", clear::All, cursor::Goto(1, 1)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 670 |         try!(write!(self.out, "\r{}{}", clear::AfterCursor, self.prompt));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:618:52
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 let (mut size_col, mut size_row) = try!(termion::terminal_size());
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:663:13
[INFO] [stdout]     |
[INFO] [stdout] 663 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:688:17
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 try!(write!(self.out, "{}", cursor::Right(prompt_width as u16)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:714:13
[INFO] [stdout]     |
[INFO] [stdout] 714 |             try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |             try!(write!(self.out, "{}", cursor::Up(cursor_line_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:733:13
[INFO] [stdout]     |
[INFO] [stdout] 733 |             try!(write!(self.out, "{}", cursor::Left(cursor_col_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/context.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/context.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if try!(keymap.handle_key(c.unwrap(), handler)) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/buffer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(f.write_char(c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/buffer.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         try!(out.write(string.as_bytes()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let file = try!(OpenOptions::new().read(true).open(file_name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     try!(file.seek(SeekFrom::End(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     try!(file.write_all(String::from(new_item.clone()).as_bytes()));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     try!(file.write_all(b"\n"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.editor_mut().flush());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Key::Char('\t') => try!(self.editor_mut().complete(handler)),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 done = try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 try!(self.handle_key_core(key));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:217:6
[INFO] [stdout]     |
[INFO] [stdout] 217 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     Exclusive => try!(self.ed.delete_until(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:383:34
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Inclusive => try!(self.ed.delete_until_inclusive(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             try!(self.handle_key_core(insert_key));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |             try!(self.handle_key_core(*k));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |             try!(self.handle_key_core(Key::Esc));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 496 | ...                   try!(self.handle_key_core(k));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:592:17
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 try!(self.ed.move_cursor_left(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 try!(self.ed.move_cursor_right(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:666:17
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:670:17
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:693:17
[INFO] [stdout]     |
[INFO] [stdout] 693 |                 try!(move_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:698:17
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 try!(move_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:703:17
[INFO] [stdout]     |
[INFO] [stdout] 703 |                 try!(move_to_end_of_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:708:17
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 try!(move_to_end_of_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:713:17
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 try!(move_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:718:17
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 try!(move_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:730:30
[INFO] [stdout]     |
[INFO] [stdout] 730 |             Key::Char(i @ '0'...'9') => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:739:17
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 try!(self.ed.move_cursor_to_end_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:765:25
[INFO] [stdout]     |
[INFO] [stdout] 765 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:767:29
[INFO] [stdout]     |
[INFO] [stdout] 767 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:771:25
[INFO] [stdout]     |
[INFO] [stdout] 771 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:773:29
[INFO] [stdout]     |
[INFO] [stdout] 773 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:777:25
[INFO] [stdout]     |
[INFO] [stdout] 777 |                         try!(self.ed.move_cursor_right(1));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:787:31
[INFO] [stdout]     |
[INFO] [stdout] 787 |                     let did = try!(self.ed.undo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:798:31
[INFO] [stdout]     |
[INFO] [stdout] 798 |                     let did = try!(self.ed.redo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:829:21
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:825:25
[INFO] [stdout]     |
[INFO] [stdout] 825 |                         try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:867:27
[INFO] [stdout]     |
[INFO] [stdout] 867 |             (Key::Char('0'...'9'), _) => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:881:17
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 try!(self.ed.delete_all_after_cursor());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:929:17
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 try!(match movement {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:978:17
[INFO] [stdout]     |
[INFO] [stdout] 978 |                 try!(move_to_end_of_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:982:17
[INFO] [stdout]     |
[INFO] [stdout] 982 |                 try!(move_to_end_of_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 try!(self.ed.undo());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 try!(self.ed.revert());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/event.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = dyn FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<Completer>>,
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<dyn Completer>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/editor.rs:575:21
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut buf = self.current_buffer_mut();
[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/context.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[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/context.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
[INFO] [stdout]   --> src/context.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                                                                        ---- `*self` is borrowed here
[INFO] [stdout] 97 |             match self.key_bindings {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ use of borrowed `*self`
[INFO] [stdout] 98 |                 KeyBindings::Emacs => Self::handle_keys(keymap::Emacs::new(ed), handler),
[INFO] [stdout] 99 |                 KeyBindings::Vi => Self::handle_keys(keymap::Vi::new(ed), handler),
[INFO] [stdout]    |                                                                      -- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         mut handler: &mut EventHandler<W>,
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0503`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `liner` (lib) due to 2 previous errors; 90 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/editor.rs:575:21
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut buf = self.current_buffer_mut();
[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/context.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[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/context.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
[INFO] [stdout]   --> src/context.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                                                                        ---- `*self` is borrowed here
[INFO] [stdout] 97 |             match self.key_bindings {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ use of borrowed `*self`
[INFO] [stdout] 98 |                 KeyBindings::Emacs => Self::handle_keys(keymap::Emacs::new(ed), handler),
[INFO] [stdout] 99 |                 KeyBindings::Vi => Self::handle_keys(keymap::Vi::new(ed), handler),
[INFO] [stdout]    |                                                                      -- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         mut handler: &mut EventHandler<W>,
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0503`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `liner` (lib test) due to 2 previous errors; 90 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6a949f922f063ae75173e198ca85457eb0448b5de64650e0d3898048b9ea0ced", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a949f922f063ae75173e198ca85457eb0448b5de64650e0d3898048b9ea0ced", kill_on_drop: false }`
[INFO] [stdout] 6a949f922f063ae75173e198ca85457eb0448b5de64650e0d3898048b9ea0ced
[INFO] checking liner-0.4.4 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate liner 0.4.4 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate liner 0.4.4 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate liner 0.4.4
[INFO] finished tweaking crates.io crate liner 0.4.4
[INFO] tweaked toml for crates.io crate liner 0.4.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 9 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding bytecount v0.1.7 (latest: v0.6.8)
[INFO] [stderr]       Adding numtoa v0.1.0 (latest: v0.2.4)
[INFO] [stderr]       Adding redox_syscall v0.2.16 (latest: v0.5.1)
[INFO] [stderr]       Adding termion v1.5.6 (latest: v3.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5913f7c92901a92634376173e15b39696dbd57f12618e415941250fa442b021
[INFO] running `Command { std: "docker" "start" "-a" "f5913f7c92901a92634376173e15b39696dbd57f12618e415941250fa442b021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5913f7c92901a92634376173e15b39696dbd57f12618e415941250fa442b021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5913f7c92901a92634376173e15b39696dbd57f12618e415941250fa442b021", kill_on_drop: false }`
[INFO] [stdout] f5913f7c92901a92634376173e15b39696dbd57f12618e415941250fa442b021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b97ecc429055d4bd2daba600c16c24d6dae579d8791cb219d2ad742c1d4756cd
[INFO] running `Command { std: "docker" "start" "-a" "b97ecc429055d4bd2daba600c16c24d6dae579d8791cb219d2ad742c1d4756cd", kill_on_drop: false }`
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]     Checking bytecount v0.1.7
[INFO] [stderr]     Checking termion v1.5.6
[INFO] [stderr]     Checking liner v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         try!(ed.display());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(self.out.write(b"\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let (w, _) = try!(termion::terminal_size());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout]     |                           ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 225 -         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout] 225 +         let cols = max(1, w as usize / (max_word_size));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |             try!(write!(self.out, "{:<1$}", com, col_width));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:301:17
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 try!(self.print_completion_list(&completions[..]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:302:17
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 try!(self.display());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         try!(write!(self.out, "{}{}", clear::All, cursor::Goto(1, 1)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 670 |         try!(write!(self.out, "\r{}{}", clear::AfterCursor, self.prompt));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:618:52
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 let (mut size_col, mut size_row) = try!(termion::terminal_size());
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:663:13
[INFO] [stdout]     |
[INFO] [stdout] 663 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:688:17
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 try!(write!(self.out, "{}", cursor::Right(prompt_width as u16)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:714:13
[INFO] [stdout]     |
[INFO] [stdout] 714 |             try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |             try!(write!(self.out, "{}", cursor::Up(cursor_line_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:733:13
[INFO] [stdout]     |
[INFO] [stdout] 733 |             try!(write!(self.out, "{}", cursor::Left(cursor_col_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/context.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/context.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if try!(keymap.handle_key(c.unwrap(), handler)) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/buffer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(f.write_char(c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/buffer.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         try!(out.write(string.as_bytes()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let file = try!(OpenOptions::new().read(true).open(file_name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     try!(file.seek(SeekFrom::End(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     try!(file.write_all(String::from(new_item.clone()).as_bytes()));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     try!(file.write_all(b"\n"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.editor_mut().flush());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Key::Char('\t') => try!(self.editor_mut().complete(handler)),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 done = try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 try!(self.handle_key_core(key));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:217:6
[INFO] [stdout]     |
[INFO] [stdout] 217 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     Exclusive => try!(self.ed.delete_until(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:383:34
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Inclusive => try!(self.ed.delete_until_inclusive(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             try!(self.handle_key_core(insert_key));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |             try!(self.handle_key_core(*k));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |             try!(self.handle_key_core(Key::Esc));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 496 | ...                   try!(self.handle_key_core(k));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:592:17
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 try!(self.ed.move_cursor_left(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 try!(self.ed.move_cursor_right(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:666:17
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:670:17
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:693:17
[INFO] [stdout]     |
[INFO] [stdout] 693 |                 try!(move_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:698:17
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 try!(move_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:703:17
[INFO] [stdout]     |
[INFO] [stdout] 703 |                 try!(move_to_end_of_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:708:17
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 try!(move_to_end_of_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:713:17
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 try!(move_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:718:17
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 try!(move_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:730:30
[INFO] [stdout]     |
[INFO] [stdout] 730 |             Key::Char(i @ '0'...'9') => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:739:17
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 try!(self.ed.move_cursor_to_end_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:765:25
[INFO] [stdout]     |
[INFO] [stdout] 765 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:767:29
[INFO] [stdout]     |
[INFO] [stdout] 767 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:771:25
[INFO] [stdout]     |
[INFO] [stdout] 771 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:773:29
[INFO] [stdout]     |
[INFO] [stdout] 773 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:777:25
[INFO] [stdout]     |
[INFO] [stdout] 777 |                         try!(self.ed.move_cursor_right(1));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:787:31
[INFO] [stdout]     |
[INFO] [stdout] 787 |                     let did = try!(self.ed.undo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:798:31
[INFO] [stdout]     |
[INFO] [stdout] 798 |                     let did = try!(self.ed.redo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:829:21
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:825:25
[INFO] [stdout]     |
[INFO] [stdout] 825 |                         try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:867:27
[INFO] [stdout]     |
[INFO] [stdout] 867 |             (Key::Char('0'...'9'), _) => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:881:17
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 try!(self.ed.delete_all_after_cursor());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:929:17
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 try!(match movement {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:978:17
[INFO] [stdout]     |
[INFO] [stdout] 978 |                 try!(move_to_end_of_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:982:17
[INFO] [stdout]     |
[INFO] [stdout] 982 |                 try!(move_to_end_of_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 try!(self.ed.undo());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 try!(self.ed.revert());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/event.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = dyn FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<Completer>>,
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<dyn Completer>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         try!(ed.display());
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(self.out.write(b"\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:221:22
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let (w, _) = try!(termion::terminal_size());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/editor.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout]     |                           ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 225 -         let cols = max(1, (w as usize / (max_word_size)));
[INFO] [stdout] 225 +         let cols = max(1, w as usize / (max_word_size));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |             try!(write!(self.out, "{:<1$}", com, col_width));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:280:13
[INFO] [stdout]     |
[INFO] [stdout] 280 |             try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     try!(self.delete_word_before_cursor(false));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:301:17
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 try!(self.print_completion_list(&completions[..]));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:302:17
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 try!(self.display());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         try!(write!(self.out, "{}{}", clear::All, cursor::Goto(1, 1)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:670:9
[INFO] [stdout]     |
[INFO] [stdout] 670 |         try!(write!(self.out, "\r{}{}", clear::AfterCursor, self.prompt));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:618:52
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 let (mut size_col, mut size_row) = try!(termion::terminal_size());
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:663:13
[INFO] [stdout]     |
[INFO] [stdout] 663 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:688:17
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 try!(write!(self.out, "{}", cursor::Right(prompt_width as u16)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:714:13
[INFO] [stdout]     |
[INFO] [stdout] 714 |             try!(write!(self.out, "\r\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:723:13
[INFO] [stdout]     |
[INFO] [stdout] 723 |             try!(write!(self.out, "{}", cursor::Up(cursor_line_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:733:13
[INFO] [stdout]     |
[INFO] [stdout] 733 |             try!(write!(self.out, "{}", cursor::Left(cursor_col_diff as u16)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/editor.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 |             try!(write!(
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/context.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/context.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if try!(keymap.handle_key(c.unwrap(), handler)) {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/buffer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(f.write_char(c));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/buffer.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         try!(out.write(string.as_bytes()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let file = try!(OpenOptions::new().read(true).open(file_name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     try!(file.seek(SeekFrom::End(0)));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     try!(file.write_all(String::from(new_item.clone()).as_bytes()));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/history.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     try!(file.write_all(b"\n"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(self.editor_mut().flush());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |             Key::Char('\t') => try!(self.editor_mut().complete(handler)),
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 done = try!(self.editor_mut().handle_newline());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 try!(self.editor_mut().accept_autosuggestion());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/mod.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 try!(self.handle_key_core(key));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/keymap/vi.rs:217:6
[INFO] [stdout]     |
[INFO] [stdout] 217 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     Exclusive => try!(self.ed.delete_until(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:383:34
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     Inclusive => try!(self.ed.delete_until_inclusive(start_pos)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             try!(self.handle_key_core(insert_key));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:457:13
[INFO] [stdout]     |
[INFO] [stdout] 457 |             try!(self.handle_key_core(*k));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |             try!(self.handle_key_core(Key::Esc));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |                 try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:496:29
[INFO] [stdout]     |
[INFO] [stdout] 496 | ...                   try!(self.handle_key_core(k));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:592:17
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:657:17
[INFO] [stdout]     |
[INFO] [stdout] 657 |                 try!(self.ed.move_cursor_left(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:662:17
[INFO] [stdout]     |
[INFO] [stdout] 662 |                 try!(self.ed.move_cursor_right(count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:666:17
[INFO] [stdout]     |
[INFO] [stdout] 666 |                 try!(self.ed.move_up());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:670:17
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 try!(self.ed.move_down());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:693:17
[INFO] [stdout]     |
[INFO] [stdout] 693 |                 try!(move_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:698:17
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 try!(move_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:703:17
[INFO] [stdout]     |
[INFO] [stdout] 703 |                 try!(move_to_end_of_word(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:708:17
[INFO] [stdout]     |
[INFO] [stdout] 708 |                 try!(move_to_end_of_word_ws(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:713:17
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 try!(move_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:718:17
[INFO] [stdout]     |
[INFO] [stdout] 718 |                 try!(move_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:730:30
[INFO] [stdout]     |
[INFO] [stdout] 730 |             Key::Char(i @ '0'...'9') => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:739:17
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 try!(self.ed.move_cursor_to_end_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:750:17
[INFO] [stdout]     |
[INFO] [stdout] 750 |                 try!(self.ed.delete_until(pos));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:765:25
[INFO] [stdout]     |
[INFO] [stdout] 765 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:767:29
[INFO] [stdout]     |
[INFO] [stdout] 767 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:771:25
[INFO] [stdout]     |
[INFO] [stdout] 771 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:773:29
[INFO] [stdout]     |
[INFO] [stdout] 773 | ...                   try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:777:25
[INFO] [stdout]     |
[INFO] [stdout] 777 |                         try!(self.ed.move_cursor_right(1));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:787:31
[INFO] [stdout]     |
[INFO] [stdout] 787 |                     let did = try!(self.ed.undo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:798:31
[INFO] [stdout]     |
[INFO] [stdout] 798 |                     let did = try!(self.ed.redo());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:829:21
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     try!(self.ed.move_cursor_left(1));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                         try!(self.ed.delete_after_cursor());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:825:25
[INFO] [stdout]     |
[INFO] [stdout] 825 |                         try!(self.ed.insert_after_cursor(c));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/keymap/vi.rs:867:27
[INFO] [stdout]     |
[INFO] [stdout] 867 |             (Key::Char('0'...'9'), _) => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:881:17
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 try!(self.ed.move_cursor_to_start_of_line());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 try!(self.ed.delete_all_after_cursor());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:929:17
[INFO] [stdout]     |
[INFO] [stdout] 929 |                 try!(match movement {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:978:17
[INFO] [stdout]     |
[INFO] [stdout] 978 |                 try!(move_to_end_of_word_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/keymap/vi.rs:982:17
[INFO] [stdout]     |
[INFO] [stdout] 982 |                 try!(move_to_end_of_word_ws_back(&mut self.ed, count));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 try!(self.ed.undo());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/keymap/emacs.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 try!(self.ed.revert());
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:25
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     'A' ... 'Z' | 'a' ... 'z' => s = AnsiState::Norm,
[INFO] [stdout]    |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/event.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type EventHandler<'a, W> = dyn FnMut(Event<W>) + 'a;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:51:31
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<Completer>>,
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub completer: Option<Box<dyn Completer>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/context.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) 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: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub word_divider_fn: Box<dyn Fn(&Buffer) -> Vec<(usize, usize)>>,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/editor.rs:575:21
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut buf = self.current_buffer_mut();
[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/context.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[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/context.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
[INFO] [stdout]   --> src/context.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                                                                        ---- `*self` is borrowed here
[INFO] [stdout] 97 |             match self.key_bindings {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ use of borrowed `*self`
[INFO] [stdout] 98 |                 KeyBindings::Emacs => Self::handle_keys(keymap::Emacs::new(ed), handler),
[INFO] [stdout] 99 |                 KeyBindings::Vi => Self::handle_keys(keymap::Vi::new(ed), handler),
[INFO] [stdout]    |                                                                      -- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         mut handler: &mut EventHandler<W>,
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0503`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `liner` (lib) due to 2 previous errors; 90 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/editor.rs:575:21
[INFO] [stdout]     |
[INFO] [stdout] 575 |                 let mut buf = self.current_buffer_mut();
[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/context.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[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/context.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         mut handler: &mut EventHandler<RawTerminal<Stdout>>,
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
[INFO] [stdout]   --> src/context.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
[INFO] [stdout]    |                                                                        ---- `*self` is borrowed here
[INFO] [stdout] 97 |             match self.key_bindings {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ use of borrowed `*self`
[INFO] [stdout] 98 |                 KeyBindings::Emacs => Self::handle_keys(keymap::Emacs::new(ed), handler),
[INFO] [stdout] 99 |                 KeyBindings::Vi => Self::handle_keys(keymap::Vi::new(ed), handler),
[INFO] [stdout]    |                                                                      -- borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         mut handler: &mut EventHandler<W>,
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0503`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `liner` (lib test) due to 2 previous errors; 90 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b97ecc429055d4bd2daba600c16c24d6dae579d8791cb219d2ad742c1d4756cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b97ecc429055d4bd2daba600c16c24d6dae579d8791cb219d2ad742c1d4756cd", kill_on_drop: false }`
[INFO] [stdout] b97ecc429055d4bd2daba600c16c24d6dae579d8791cb219d2ad742c1d4756cd
