[INFO] cloning repository https://github.com/KauzClay/rust-audio-workbench
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KauzClay/rust-audio-workbench" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b66063761b0aa51a58b113b02ce661628cee22ed
[INFO] checking KauzClay/rust-audio-workbench against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/KauzClay/rust-audio-workbench 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/KauzClay/rust-audio-workbench
[INFO] finished tweaking git repo https://github.com/KauzClay/rust-audio-workbench
[INFO] tweaked toml for git repo https://github.com/KauzClay/rust-audio-workbench written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/KauzClay/rust-audio-workbench 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]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking KauzClay/rust-audio-workbench against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKauzClay%2Frust-audio-workbench" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/KauzClay/rust-audio-workbench 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/KauzClay/rust-audio-workbench
[INFO] finished tweaking git repo https://github.com/KauzClay/rust-audio-workbench
[INFO] tweaked toml for git repo https://github.com/KauzClay/rust-audio-workbench written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/KauzClay/rust-audio-workbench 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] f205e696098d38644a4e3e7c5914ec15e99992467b70976b470d40b2b600cd16
[INFO] running `Command { std: "docker" "start" "-a" "f205e696098d38644a4e3e7c5914ec15e99992467b70976b470d40b2b600cd16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f205e696098d38644a4e3e7c5914ec15e99992467b70976b470d40b2b600cd16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f205e696098d38644a4e3e7c5914ec15e99992467b70976b470d40b2b600cd16", kill_on_drop: false }`
[INFO] [stdout] f205e696098d38644a4e3e7c5914ec15e99992467b70976b470d40b2b600cd16
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 2ba7e2678bdf1a5365cf3f85bb1dc5a82165ed0231335ff9aec7b032243aa02b
[INFO] running `Command { std: "docker" "start" "-a" "2ba7e2678bdf1a5365cf3f85bb1dc5a82165ed0231335ff9aec7b032243aa02b", kill_on_drop: false }`
[INFO] [stderr]     Checking hound v3.4.0
[INFO] [stderr]     Checking raw v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 - type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout] 20 + type RawCliCommand = fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 - type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout] 20 + type RawCliCommand = fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<dyn Clip>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<dyn Clip>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<dyn Clip>);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<dyn Clip>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<dyn Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<dyn Clip>) -> bool;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<dyn Clip>) -> bool {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<dyn Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<dyn Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<dyn Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<dyn Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<dyn Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<dyn Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<dyn Clip>) -> Self {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<dyn Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<dyn Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<dyn Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<dyn Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<dyn Clip>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<dyn Clip>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<dyn Clip>);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<dyn Clip>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<dyn Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<dyn Clip>) -> bool;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<dyn Clip>) -> bool {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<dyn Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<dyn Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<dyn Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<dyn Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<dyn Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<dyn Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<dyn Clip>) -> Self {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<dyn Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<dyn Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<dyn Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<dyn Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove` is never used
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 30  | impl Track {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove` is never used
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 30  | impl Track {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/outline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/wavreader.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/rawcli.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wavreader`
[INFO] [stdout]   --> src/rawcli.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wavreader;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/rawcli.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 - type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout] 20 + type RawCliCommand = fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioReader`, `AudioWriter`, `Clip`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use outline::{Clip, AudioReader, AudioWriter};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Concat`, `Reverse`, `Subclip`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use compounds::{Concat, Subclip, Reverse};
[INFO] [stdout]    |                 ^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/rawcli.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                      ^                                                                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 - type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout] 20 + type RawCliCommand = fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioReader`, `AudioWriter`, `Clip`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use outline::{Clip, AudioReader, AudioWriter};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `samplearray::SampleArray`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use samplearray::SampleArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Concat`, `Reverse`, `Subclip`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use compounds::{Concat, Subclip, Reverse};
[INFO] [stdout]    |                 ^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<dyn Clip>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<dyn Clip>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<dyn Clip>);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<dyn Clip>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<dyn Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<dyn Clip>) -> bool;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<dyn Clip>) -> bool {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<dyn Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/compounds.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<Clip>,
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     clip: Arc<dyn Clip>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     left: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<dyn Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<Clip>,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     right: Arc<dyn Clip>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<dyn Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<Clip>);
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Reverse(Arc<dyn Clip>);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<Clip>,
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     clip: Arc<dyn Clip>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<Clip>>,
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clips:  Vec<Arc<dyn Clip>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<dyn Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rawcli.rs:20:56
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type RawCliCommand = (fn(&mut Vec<Track>, &mut Vec<Arc<dyn Clip>>, &str) -> Result<String, String>);
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<dyn Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/outline.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<Clip>) -> bool;
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn write(w: Self::Writer, c: Arc<dyn Clip>) -> bool;
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<dyn Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<dyn Clip>) -> Self {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<dyn Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wavreader.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<Clip>) -> bool {
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn write(writer: Self::Writer, clip: Arc<dyn Clip>) -> bool {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<dyn Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:17:44
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new<S: Time, T: Time>(clip: Arc<dyn Clip>, start_time: S, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<dyn Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn from_start<T: Time>(clip: Arc<dyn Clip>, duration_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<dyn Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:35:38
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn to_end<T: Time>(clip: Arc<dyn Clip>, start_time: T) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:44:37
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn split<T: Time>(clip: Arc<dyn Clip>, split_time: T) -> Option<(Arc<Self>, Arc<Self>)> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<dyn Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/compounds.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn new(left: Arc<Clip>, right: Arc<dyn Clip>) -> Option<Arc<Self>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/compounds.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<Clip>) -> Self {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn new(clip: Arc<dyn Clip>) -> Self {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/track.rs:55:55
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert(side: &mut Vec<ClipPosition>, clip: Arc<dyn Clip>, position: u64, dur: u64) -> bool {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:111:54
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn insert_mono<T: Time>(&mut self, clip: Arc<dyn Clip>, position_time: T) -> bool {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<dyn Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:131:75
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn insert_stereo(&mut self, left_clip: Arc<Clip>, right_clip: Arc<dyn Clip>, position: u64) -> bool {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn left_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:174:48
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<Clip> {
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn right_channel_as_clip(&self) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/track.rs:179:62
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<Clip> {
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn track_to_clip(&self, side: &Vec<ClipPosition>) -> Arc<dyn Clip> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:113:61
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn insert_mono(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn copy(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:183:56
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:230:55
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rawcli.rs:272:56
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<dyn Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]    --> src/track.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/track.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/track.rs:150:60
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `split_dur`
[INFO] [stdout]    --> src/track.rs:212:25
[INFO] [stdout]     |
[INFO] [stdout] 212 |                     let split_dur = self.clips[get_idx].clip.duration();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_split_dur`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove` is never used
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 30  | impl Track {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/rawcli.rs:139:62
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn info(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:183:36
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn import(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/rawcli.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let path = Path::new(filename);
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clips`
[INFO] [stdout]    --> src/rawcli.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn write(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_clips`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | fn reverse(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tracks`
[INFO] [stdout]    --> src/rawcli.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn concat(tracks: &mut Vec<Track>, clips: &mut Vec<Arc<Clip>>, cmd: &str) -> Result<String, String> {
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tracks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove` is never used
[INFO] [stdout]    --> src/track.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 30  | impl Track {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn remove(side: &mut Vec<ClipPosition>, position: u64, duration: u64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.39s
[INFO] running `Command { std: "docker" "inspect" "2ba7e2678bdf1a5365cf3f85bb1dc5a82165ed0231335ff9aec7b032243aa02b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ba7e2678bdf1a5365cf3f85bb1dc5a82165ed0231335ff9aec7b032243aa02b", kill_on_drop: false }`
[INFO] [stdout] 2ba7e2678bdf1a5365cf3f85bb1dc5a82165ed0231335ff9aec7b032243aa02b
