[INFO] cloning repository https://github.com/Dgame/mysh
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Dgame/mysh" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDgame%2Fmysh", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDgame%2Fmysh'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d0174d95a1a13257f7e76b0f9978ee97a9e39ce9
[INFO] checking Dgame/mysh against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDgame%2Fmysh" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Dgame/mysh on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Dgame/mysh
[INFO] finished tweaking git repo https://github.com/Dgame/mysh
[INFO] tweaked toml for git repo https://github.com/Dgame/mysh written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Dgame/mysh already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ucd-util v0.1.3
[INFO] [stderr]   Downloaded num-traits v0.2.6
[INFO] [stderr]   Downloaded redox_syscall v0.1.54
[INFO] [stderr]   Downloaded cfg-if v0.1.7
[INFO] [stderr]   Downloaded lazy_static v1.3.0
[INFO] [stderr]   Downloaded log v0.4.6
[INFO] [stderr]   Downloaded num-integer v0.1.39
[INFO] [stderr]   Downloaded memchr v2.2.0
[INFO] [stderr]   Downloaded aho-corasick v0.7.3
[INFO] [stderr]   Downloaded utf8-ranges v1.0.2
[INFO] [stderr]   Downloaded proc-macro2 v0.4.27
[INFO] [stderr]   Downloaded regex-syntax v0.6.6
[INFO] [stderr]   Downloaded winapi v0.3.7
[INFO] [stderr]   Downloaded regex v1.1.6
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded whoami v0.5.0
[INFO] [stderr]   Downloaded toml v0.5.0
[INFO] [stderr]   Downloaded flexi_logger v0.11.4
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded chrono v0.4.6
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded libc v0.2.51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c05a92480838a0f46c64b4e6bd89f0a4b76af212b9a4ecf2d9c6566d01291ecc
[INFO] running `Command { std: "docker" "start" "-a" "c05a92480838a0f46c64b4e6bd89f0a4b76af212b9a4ecf2d9c6566d01291ecc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c05a92480838a0f46c64b4e6bd89f0a4b76af212b9a4ecf2d9c6566d01291ecc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c05a92480838a0f46c64b4e6bd89f0a4b76af212b9a4ecf2d9c6566d01291ecc", kill_on_drop: false }`
[INFO] [stdout] c05a92480838a0f46c64b4e6bd89f0a4b76af212b9a4ecf2d9c6566d01291ecc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 745e5d8d8a3fc913358ea92cd371a01e8218d4eb164162033c8fe135d45b30cd
[INFO] running `Command { std: "docker" "start" "-a" "745e5d8d8a3fc913358ea92cd371a01e8218d4eb164162033c8fe135d45b30cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]     Checking utf8-ranges v1.0.2
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking regex-syntax v0.6.6
[INFO] [stderr]     Checking aho-corasick v0.7.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking termion v1.5.1
[INFO] [stderr]     Checking whoami v0.5.0
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking flexi_logger v0.11.4
[INFO] [stderr]     Checking toml v0.5.0
[INFO] [stderr]     Checking mysh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<Colorizer>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<dyn Colorizer>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<Behaviour>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<dyn Behaviour>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/pool.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<dyn Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<Colorizer>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<dyn Colorizer>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/prompt.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<shell::Widget>>,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<dyn shell::Widget>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/behaviour/mod.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut shell::Terminal);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:52:52
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<Colorizer>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<dyn Colorizer>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<Behaviour>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<dyn Behaviour>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut shell::Terminal) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/pool.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<dyn Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/prompt.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<shell::Widget>>,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<dyn shell::Widget>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/behaviour/mod.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut shell::Terminal);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:52:52
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<Colorizer>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<dyn Colorizer>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut shell::Terminal) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/drawable.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut shell::Terminal);
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<Behaviour>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<dyn Behaviour>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut XCursor {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut dyn XCursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &shell::Cursor) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/line.rs:102:36
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut shell::Clear {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut dyn shell::Clear {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:66
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn shell::Write {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/drawable.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut shell::Terminal);
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<Behaviour>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<dyn Behaviour>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut XCursor {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut dyn XCursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &shell::Cursor) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/line.rs:102:36
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut shell::Clear {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut dyn shell::Clear {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:170:46
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:66
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn shell::Write {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:179:43
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut XCursor;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut dyn XCursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &shell::Cursor);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor);
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/terminal.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut Cursor;
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]   |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:170:46
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:179:43
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut XCursor;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut dyn XCursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &shell::Cursor);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor);
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut Clear;
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut dyn Clear;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/terminal.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut Cursor;
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]   |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:43
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:66
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn Write;
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut Clear;
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut dyn Clear;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:43
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:66
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn Write;
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&dyn Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&dyn Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<dyn shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<dyn shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.49s
[INFO] running `Command { std: "docker" "inspect" "745e5d8d8a3fc913358ea92cd371a01e8218d4eb164162033c8fe135d45b30cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "745e5d8d8a3fc913358ea92cd371a01e8218d4eb164162033c8fe135d45b30cd", kill_on_drop: false }`
[INFO] [stdout] 745e5d8d8a3fc913358ea92cd371a01e8218d4eb164162033c8fe135d45b30cd
[INFO] checking Dgame/mysh against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDgame%2Fmysh" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Dgame/mysh on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Dgame/mysh
[INFO] finished tweaking git repo https://github.com/Dgame/mysh
[INFO] tweaked toml for git repo https://github.com/Dgame/mysh written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Dgame/mysh already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cd16f1df4eed9dfdcc2d24055e4cca1b2c1bd21c63af6b4401141659f4191d7a
[INFO] running `Command { std: "docker" "start" "-a" "cd16f1df4eed9dfdcc2d24055e4cca1b2c1bd21c63af6b4401141659f4191d7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd16f1df4eed9dfdcc2d24055e4cca1b2c1bd21c63af6b4401141659f4191d7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd16f1df4eed9dfdcc2d24055e4cca1b2c1bd21c63af6b4401141659f4191d7a", kill_on_drop: false }`
[INFO] [stdout] cd16f1df4eed9dfdcc2d24055e4cca1b2c1bd21c63af6b4401141659f4191d7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Dnon_local_definitions" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b846e613fe7d4f854f599f4b59cf6e0bf64600bd49ac7c450b18aeb5da8e3021
[INFO] running `Command { std: "docker" "start" "-a" "b846e613fe7d4f854f599f4b59cf6e0bf64600bd49ac7c450b18aeb5da8e3021", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]     Checking utf8-ranges v1.0.2
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking regex-syntax v0.6.6
[INFO] [stderr]     Checking aho-corasick v0.7.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking termion v1.5.1
[INFO] [stderr]     Checking whoami v0.5.0
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking flexi_logger v0.11.4
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking toml v0.5.0
[INFO] [stderr]     Checking mysh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<Colorizer>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<dyn Colorizer>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<Behaviour>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<dyn Behaviour>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/pool.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<dyn Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/prompt.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<shell::Widget>>,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<dyn shell::Widget>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/behaviour/mod.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut shell::Terminal);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:52:52
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<Colorizer>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<dyn Colorizer>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut shell::Terminal) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/drawable.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut shell::Terminal);
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<Behaviour>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<dyn Behaviour>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut XCursor {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut dyn XCursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &shell::Cursor) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/line.rs:102:36
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut shell::Clear {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut dyn shell::Clear {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:66
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn shell::Write {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<Colorizer>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     colorizer: Vec<Box<dyn Colorizer>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<Behaviour>>,
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     behaviour: Vec<Box<dyn Behaviour>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/pool.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     closure: Box<dyn Fn(Sender<T>) + Send + 'static>,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/prompt.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<shell::Widget>>,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets: Vec<Box<dyn shell::Widget>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/behaviour/mod.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut shell::Terminal);
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:170:46
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:52:52
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<Colorizer>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_colorizer(&mut self, colorizer: Box<dyn Colorizer>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:179:43
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut shell::Terminal) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn render(&self, input: &[char], term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut XCursor;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut dyn XCursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &shell::Cursor);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor);
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/terminal.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut Cursor;
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]   |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut Clear;
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut dyn Clear;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:43
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:66
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn Write;
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/drawable.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut shell::Terminal);
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn render_on(&self, terminal: &mut dyn shell::Terminal);
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:51:52
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<Behaviour>) {
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn add_behaviour(&mut self, behaviour: Box<dyn Behaviour>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:74:34
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut XCursor {
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn cursor(&mut self) -> &mut dyn XCursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/line.rs:93:40
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &shell::Cursor) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/line.rs:102:36
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut shell::Clear {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self) -> &mut dyn shell::Clear {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:53:34
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn cursor(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:57:66
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut shell::Write {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn shell::Write {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn newline(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/my/terminal.rs:80:33
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut shell::Terminal {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn flush(&mut self) -> &mut dyn shell::Terminal {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut shell::Cursor {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn clear_after(&mut self) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn set_x(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn set_y(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn move_left(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:170:46
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn move_right(&mut self, x: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:179:43
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn move_up(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/my/terminal.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut shell::Cursor {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn move_down(&mut self, y: u16) -> &mut dyn shell::Cursor {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut XCursor;
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn cursor(&mut self) -> &mut dyn XCursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/line.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &shell::Cursor);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn set_padding(&mut self, cursor: &dyn shell::Cursor);
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/shell/terminal.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut Cursor;
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn set_to(&mut self, x: u16, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]   |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn clear_after(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn set_x(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn set_y(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_left(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut Cursor;
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn move_right(&mut self, x: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn move_up(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut Cursor;
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn move_down(&mut self, y: u16) -> &mut dyn Cursor;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut Clear;
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn clear(&mut self) -> &mut dyn Clear;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut Cursor;
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn cursor(&mut self) -> &mut dyn Cursor;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:43
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&dyn color::Color>) -> &mut Write;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:28:66
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut Write;
[INFO] [stdout]    |                                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn in_color(&mut self, color: Option<&color::Color>) -> &mut dyn Write;
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:29:35
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn newline(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/terminal.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut Terminal;
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn flush(&mut self) -> &mut dyn Terminal;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:28:36
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:47:36
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/widget.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut shell::Terminal) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn render_on(&self, term: &mut dyn shell::Terminal) {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&dyn Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/behaviour/mod.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let color: Option<&dyn Color> = color.as_ref().map(|color| color as &dyn Color);
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<dyn shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/shell/prompt.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut widgets: Vec<Box<dyn shell::Widget>> = Vec::new();
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/config.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rgb`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_User`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Caret`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Line`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Prompt`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:97:33
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, Default, Deserialize)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Colorize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/config.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/config.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rgb`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_User`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Caret`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Line`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Prompt`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/config.rs:97:33
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Debug, Clone, Default, Deserialize)]
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Colorize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/config.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, Default, Deserialize)]
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mysh` (bin "mysh") due to 8 previous errors; 48 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 7 previous errors; 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mysh` (bin "mysh" test) due to 8 previous errors; 48 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b846e613fe7d4f854f599f4b59cf6e0bf64600bd49ac7c450b18aeb5da8e3021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b846e613fe7d4f854f599f4b59cf6e0bf64600bd49ac7c450b18aeb5da8e3021", kill_on_drop: false }`
[INFO] [stdout] b846e613fe7d4f854f599f4b59cf6e0bf64600bd49ac7c450b18aeb5da8e3021
