[INFO] fetching crate flo 0.1.0... [INFO] testing flo-0.1.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate flo 0.1.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate flo 0.1.0 [INFO] finished tweaking crates.io crate flo 0.1.0 [INFO] tweaked toml for crates.io crate flo 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate flo 0.1.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 43 packages to latest compatible versions [INFO] [stderr] Adding desync v0.1.2 (available: v0.9.0) [INFO] [stderr] Adding flo_binding v0.1.2 (available: v2.2.0) [INFO] [stderr] Adding flo_canvas v0.1.0 (available: v0.3.1) [INFO] [stderr] Adding flo_curves v0.1.0 (available: v0.8.0) [INFO] [stderr] Adding futures v0.1.31 (available: v0.3.31) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded modifier v0.1.0 [INFO] [stderr] Downloaded flo_float_encoder v0.1.0 [INFO] [stderr] Downloaded flo_animation v0.1.0 [INFO] [stderr] Downloaded rulinalg v0.4.2 [INFO] [stderr] Downloaded rust-hsluv v0.1.4 [INFO] [stderr] Downloaded desync v0.1.2 [INFO] [stderr] Downloaded flo_curves v0.1.0 [INFO] [stderr] Downloaded flo_canvas v0.1.0 [INFO] [stderr] Downloaded flo_ui v0.1.0 [INFO] [stderr] Downloaded desync v0.4.1 [INFO] [stderr] Downloaded flo_binding v0.1.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 810b4370d1f897cd5103db5617614e870e3cd00a41f9aa7dc8089adbe7353f11 [INFO] running `Command { std: "docker" "start" "-a" "810b4370d1f897cd5103db5617614e870e3cd00a41f9aa7dc8089adbe7353f11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "810b4370d1f897cd5103db5617614e870e3cd00a41f9aa7dc8089adbe7353f11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "810b4370d1f897cd5103db5617614e870e3cd00a41f9aa7dc8089adbe7353f11", kill_on_drop: false }` [INFO] [stdout] 810b4370d1f897cd5103db5617614e870e3cd00a41f9aa7dc8089adbe7353f11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] f57c8f040acc1719dcc6c6e40f76197f30233cbf1f7687fbf950ed63baf88856 [INFO] running `Command { std: "docker" "start" "-a" "f57c8f040acc1719dcc6c6e40f76197f30233cbf1f7687fbf950ed63baf88856", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling rawpointer v0.1.0 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling traitobject v0.1.1 [INFO] [stderr] Compiling rust-hsluv v0.1.4 [INFO] [stderr] Compiling modifier v0.1.0 [INFO] [stderr] Compiling flo_float_encoder v0.1.0 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling deflate v0.7.20 [INFO] [stderr] Compiling inflate v0.3.4 [INFO] [stderr] Compiling unsafe-any v0.4.2 [INFO] [stderr] Compiling num v0.1.43 [INFO] [stderr] Compiling typemap v0.3.3 [INFO] [stderr] Compiling rulinalg v0.4.2 [INFO] [stderr] Compiling png v0.11.0 [INFO] [stderr] Compiling desync v0.1.2 [INFO] [stderr] Compiling desync v0.4.1 [INFO] [stderr] Compiling flo_binding v0.1.2 [INFO] [stderr] Compiling flo_curves v0.1.0 [INFO] [stderr] Compiling flo_canvas v0.1.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling flo_animation v0.1.0 [INFO] [stderr] Compiling flo_ui v0.1.0 [INFO] [stderr] Compiling flo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self::keyframe::*` [INFO] [stdout] --> src/model/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use self::keyframe::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::animation::*` [INFO] [stdout] --> src/model/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use self::animation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = Tool; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = dyn Tool; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:50:39 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:30:37 [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/frame.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:51:112 [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:58:100 [INFO] [stdout] | [INFO] [stdout] 58 | ...im>>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:86 [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:139 [INFO] [stdout] | [INFO] [stdout] 65 | ...tor>>) -> Box<'a+Iterator>>; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:97:57 [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:72 [INFO] [stdout] | [INFO] [stdout] 214 | ... &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:92 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:100 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:51 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:356:38 [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:376:43 [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:486:43 [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:61:45 [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:183:43 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:114:99 [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut dyn GraphicsPrimitives, drawing: DrawIter) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:71:87 [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for Tool { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for dyn Tool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:72:26 [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &Tool) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &dyn Tool) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:25:37 [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for ToolSet { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for dyn ToolSet { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &ToolSet) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &dyn ToolSet) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:144:115 [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:150:103 [INFO] [stdout] | [INFO] [stdout] 150 | ... tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:87 [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:141 [INFO] [stdout] | [INFO] [stdout] 160 | ...r>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:77:44 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:97:110 [INFO] [stdout] | [INFO] [stdout] 97 | ...ricToolData>>>(&mut self, input: Iter) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:271:112 [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:278:98 [INFO] [stdout] | [INFO] [stdout] 278 | ...>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:79 [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:128 [INFO] [stdout] | [INFO] [stdout] 342 | ...a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:34:103 [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:76 [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:117 [INFO] [stdout] | [INFO] [stdout] 38 | ...nput: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:113:108 [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:120:95 [INFO] [stdout] | [INFO] [stdout] 120 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:80 [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator<... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:126 [INFO] [stdout] | [INFO] [stdout] 141 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:57:108 [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:61:95 [INFO] [stdout] | [INFO] [stdout] 61 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:79 [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:125 [INFO] [stdout] | [INFO] [stdout] 79 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:73:148 [INFO] [stdout] | [INFO] [stdout] 73 | ...er: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:40:76 [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, dyn EditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:154:57 [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:317:43 [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:321:57 [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/eraser.rs:227:43 [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/color_picker_controller.rs:49:57 [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:255:58 [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut dyn GraphicsPrimitives, (width, height): (f64, f64)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:356:47 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_anno... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:400:48 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_d... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_drawing: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/layer.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, dyn Layer>) -> LayerModel { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:50:60 [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:153:43 [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &Tool = &self.ink; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &dyn Tool = &self.ink; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:38:40 [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:95:27 [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:133:27 [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/standard_tools/eraser.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut model = InkModel::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/frame.rs:68:35 [INFO] [stdout] | [INFO] [stdout] 68 | Entry::Vacant(mut vacant) => { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAYER_PANEL_WIDTH` is never used [INFO] [stdout] --> src/editor/timeline_controller.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const LAYER_PANEL_WIDTH: f32 = 256.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Select`, `RubberBand`, and `Drag` are never constructed [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum SelectAction { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Select, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | RubberBand, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Drag [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_initial_position` is never used [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl SelectData { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.63s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: typemap v0.3.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "f57c8f040acc1719dcc6c6e40f76197f30233cbf1f7687fbf950ed63baf88856", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f57c8f040acc1719dcc6c6e40f76197f30233cbf1f7687fbf950ed63baf88856", kill_on_drop: false }` [INFO] [stdout] f57c8f040acc1719dcc6c6e40f76197f30233cbf1f7687fbf950ed63baf88856 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5637fa6d654afbeb083a351100855714700499e8c7066906d1d316624cd0abf2 [INFO] running `Command { std: "docker" "start" "-a" "5637fa6d654afbeb083a351100855714700499e8c7066906d1d316624cd0abf2", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: unused import: `self::keyframe::*` [INFO] [stdout] --> src/model/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use self::keyframe::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::animation::*` [INFO] [stdout] --> src/model/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use self::animation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = Tool; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = dyn Tool; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:50:39 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:30:37 [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/frame.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:51:112 [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:58:100 [INFO] [stdout] | [INFO] [stdout] 58 | ...im>>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:86 [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:139 [INFO] [stdout] | [INFO] [stdout] 65 | ...tor>>) -> Box<'a+Iterator>>; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:97:57 [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:72 [INFO] [stdout] | [INFO] [stdout] 214 | ... &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:92 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:100 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:51 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:356:38 [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:376:43 [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:486:43 [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:61:45 [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:183:43 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:114:99 [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut dyn GraphicsPrimitives, drawing: DrawIter) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:71:87 [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for Tool { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for dyn Tool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:72:26 [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &Tool) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &dyn Tool) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:25:37 [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for ToolSet { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for dyn ToolSet { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &ToolSet) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &dyn ToolSet) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:144:115 [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:150:103 [INFO] [stdout] | [INFO] [stdout] 150 | ... tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:87 [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:141 [INFO] [stdout] | [INFO] [stdout] 160 | ...r>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:77:44 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:97:110 [INFO] [stdout] | [INFO] [stdout] 97 | ...ricToolData>>>(&mut self, input: Iter) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:271:112 [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:278:98 [INFO] [stdout] | [INFO] [stdout] 278 | ...>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:79 [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:128 [INFO] [stdout] | [INFO] [stdout] 342 | ...a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:34:103 [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:76 [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:117 [INFO] [stdout] | [INFO] [stdout] 38 | ...nput: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:113:108 [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:120:95 [INFO] [stdout] | [INFO] [stdout] 120 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:80 [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator<... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:126 [INFO] [stdout] | [INFO] [stdout] 141 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:57:108 [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:61:95 [INFO] [stdout] | [INFO] [stdout] 61 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:79 [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:125 [INFO] [stdout] | [INFO] [stdout] 79 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:73:148 [INFO] [stdout] | [INFO] [stdout] 73 | ...er: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:40:76 [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, dyn EditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:154:57 [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:317:43 [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:321:57 [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/eraser.rs:227:43 [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/color_picker_controller.rs:49:57 [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:255:58 [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut dyn GraphicsPrimitives, (width, height): (f64, f64)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:356:47 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_anno... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:400:48 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_d... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_drawing: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/layer.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, dyn Layer>) -> LayerModel { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:50:60 [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:153:43 [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &Tool = &self.ink; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &dyn Tool = &self.ink; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:38:40 [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:95:27 [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:133:27 [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling flo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/standard_tools/eraser.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut model = InkModel::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/frame.rs:68:35 [INFO] [stdout] | [INFO] [stdout] 68 | Entry::Vacant(mut vacant) => { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAYER_PANEL_WIDTH` is never used [INFO] [stdout] --> src/editor/timeline_controller.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const LAYER_PANEL_WIDTH: f32 = 256.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Select`, `RubberBand`, and `Drag` are never constructed [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum SelectAction { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Select, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | RubberBand, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Drag [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_initial_position` is never used [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl SelectData { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/tools/generic_tool.rs:269:81 [INFO] [stdout] | [INFO] [stdout] 269 | let model = generic_tool.create_model(Arc::clone(&flo_model));; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::keyframe::*` [INFO] [stdout] --> src/model/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use self::keyframe::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::animation::*` [INFO] [stdout] --> src/model/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use self::animation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | tool_controllers: Mutex>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | subcontrollers: HashMap> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 | layer_frame: Arc, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = Tool; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 | pub type FloTool = dyn Tool; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GenericToolData(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:50:39 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | pub struct GenericToolModel(Mutex>); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:30:37 [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | model_actions: Option, Error=()>+Send>>> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 | frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | frame: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub tool_sets: Binding>>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/frame.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 | pub frame: BindRef>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:51:112 [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:58:100 [INFO] [stdout] | [INFO] [stdout] 58 | ...im>>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:86 [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:65:139 [INFO] [stdout] | [INFO] [stdout] 65 | ...tor>>) -> Box<'a+Iterator>>; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/menu_controller.rs:97:57 [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:72 [INFO] [stdout] | [INFO] [stdout] 214 | ... &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:92 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:214:100 [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:300:51 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:356:38 [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | fn draw_frame_indicator(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:376:43 [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 | fn draw_frame_indicator_line(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/timeline_controller.rs:486:43 [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:61:45 [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/toolbox_controller.rs:183:43 [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:114:99 [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut dyn GraphicsPrimitives, drawing: DrawIter) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:71:87 [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for Tool { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 | impl PartialEq for dyn Tool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_trait.rs:72:26 [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &Tool) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 | fn eq(&self, other: &dyn Tool) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:25:37 [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for ToolSet { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 | impl PartialEq for dyn ToolSet { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_set.rs:26:26 [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &ToolSet) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | fn eq(&self, other: &dyn ToolSet) -> bool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:144:115 [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:150:103 [INFO] [stdout] | [INFO] [stdout] 150 | ... tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:87 [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> B... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:160:141 [INFO] [stdout] | [INFO] [stdout] 160 | ...r>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:77:44 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 | pub fn model_actions(&mut self) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/tool_runner.rs:97:110 [INFO] [stdout] | [INFO] [stdout] 97 | ...ricToolData>>>(&mut self, input: Iter) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 | pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:271:112 [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:278:98 [INFO] [stdout] | [INFO] [stdout] 278 | ...>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:79 [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/select.rs:342:128 [INFO] [stdout] | [INFO] [stdout] 342 | ...a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:34:103 [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:76 [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/adjust.rs:38:117 [INFO] [stdout] | [INFO] [stdout] 38 | ...nput: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pan.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/pencil.rs:32:117 [INFO] [stdout] | [INFO] [stdout] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:113:108 [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:120:95 [INFO] [stdout] | [INFO] [stdout] 120 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:80 [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator<... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/ink.rs:141:126 [INFO] [stdout] | [INFO] [stdout] 141 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:57:108 [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:61:95 [INFO] [stdout] | [INFO] [stdout] 61 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:79 [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:79:125 [INFO] [stdout] | [INFO] [stdout] 79 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:73:148 [INFO] [stdout] | [INFO] [stdout] 73 | ...er: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 | fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:40:76 [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | fn get_log<'a>(&'a self) -> Reader<'a, dyn EditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn edit<'a>(&'a self) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, dyn PendingEditLog> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:154:57 [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:201:80 [INFO] [stdout] | [INFO] [stdout] 201 | ... fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 201 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:201:122 [INFO] [stdout] | [INFO] [stdout] 201 | ...ut: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 201 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:317:43 [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/ink.rs:321:57 [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/menu/eraser.rs:227:43 [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/color_picker_controller.rs:49:57 [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn get_viewmodel(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/color/hsluv_picker_controller.rs:255:58 [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 | fn draw_background(&mut self, gc: &mut dyn GraphicsPrimitives, (width, height): (f64, f64)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:356:47 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_anno... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/animation_canvas/canvas_renderer.rs:400:48 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_d... [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_drawing: DrawFn) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/layer.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new<'a>(layer: &Reader<'a, dyn Layer>) -> LayerModel { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/editor/mod.rs:50:60 [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/tools/generic_tool.rs:153:43 [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/standard_tools/eraser.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &Tool = &self.ink; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 | let ink: &dyn Tool = &self.ink; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/tools.rs:38:40 [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | let default_tool_sets: Vec>> = vec![ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:95:27 [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/model/animation.rs:133:27 [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | let edit_log: Box> = Box::new(model_edit); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/standard_tools/eraser.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut model = InkModel::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/frame.rs:68:35 [INFO] [stdout] | [INFO] [stdout] 68 | Entry::Vacant(mut vacant) => { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAYER_PANEL_WIDTH` is never used [INFO] [stdout] --> src/editor/timeline_controller.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const LAYER_PANEL_WIDTH: f32 = 256.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Select`, `RubberBand`, and `Drag` are never constructed [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum SelectAction { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Select, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | RubberBand, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Drag [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_initial_position` is never used [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl SelectData { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.72s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: typemap v0.3.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "5637fa6d654afbeb083a351100855714700499e8c7066906d1d316624cd0abf2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5637fa6d654afbeb083a351100855714700499e8c7066906d1d316624cd0abf2", kill_on_drop: false }` [INFO] [stdout] 5637fa6d654afbeb083a351100855714700499e8c7066906d1d316624cd0abf2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] aa3d4701032bde61de7f0a72c9d765dc7fb60b0ae0b5f34255794b3f9136a284 [INFO] running `Command { std: "docker" "start" "-a" "aa3d4701032bde61de7f0a72c9d765dc7fb60b0ae0b5f34255794b3f9136a284", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unused import: `self::keyframe::*` [INFO] [stderr] --> src/model/mod.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub use self::keyframe::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::animation::*` [INFO] [stderr] --> src/model/mod.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub use self::animation::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/menu_controller.rs:19:51 [INFO] [stderr] | [INFO] [stderr] 19 | tool_controllers: Mutex>>, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 | tool_controllers: Mutex>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/mod.rs:37:48 [INFO] [stderr] | [INFO] [stderr] 37 | subcontrollers: HashMap> [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 | subcontrollers: HashMap> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animation_canvas/canvas_renderer.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | layer_frame: Arc, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 | layer_frame: Arc, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | pub type FloTool = Tool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 | pub type FloTool = dyn Tool; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:45:38 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct GenericToolData(Mutex>); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 45 | pub struct GenericToolData(Mutex>); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:50:39 [INFO] [stderr] | [INFO] [stderr] 50 | pub struct GenericToolModel(Mutex>); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 | pub struct GenericToolModel(Mutex>); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_runner.rs:30:37 [INFO] [stderr] | [INFO] [stderr] 30 | model_actions: Option, Error=()>+Send>>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 | model_actions: Option, Error=()>+Send>>> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:20:31 [INFO] [stderr] | [INFO] [stderr] 20 | frame: BindRef>>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 20 | frame: BindRef>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:50:23 [INFO] [stderr] | [INFO] [stderr] 50 | frame: Option>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 | frame: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/tools.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | pub tool_sets: Binding>>>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 | pub tool_sets: Binding>>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/frame.rs:18:35 [INFO] [stderr] | [INFO] [stderr] 18 | pub frame: BindRef>>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 18 | pub frame: BindRef>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:51:112 [INFO] [stderr] | [INFO] [stderr] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 51 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:58:100 [INFO] [stderr] | [INFO] [stderr] 58 | ...im>>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 58 | fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:65:86 [INFO] [stderr] | [INFO] [stderr] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:65:139 [INFO] [stderr] | [INFO] [stderr] 65 | ...tor>>) -> Box<'a+Iterator>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 65 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/menu_controller.rs:97:57 [INFO] [stderr] | [INFO] [stderr] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 97 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:214:72 [INFO] [stderr] | [INFO] [stderr] 214 | ... &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:214:92 [INFO] [stderr] | [INFO] [stderr] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:214:100 [INFO] [stderr] | [INFO] [stderr] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+S... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 | fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:300:43 [INFO] [stderr] | [INFO] [stderr] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:300:51 [INFO] [stderr] | [INFO] [stderr] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 300 | fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:356:38 [INFO] [stderr] | [INFO] [stderr] 356 | fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 356 | fn draw_frame_indicator(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:376:43 [INFO] [stderr] | [INFO] [stderr] 376 | fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 376 | fn draw_frame_indicator_line(gc: &mut dyn GraphicsPrimitives) -> () { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/timeline_controller.rs:486:43 [INFO] [stderr] | [INFO] [stderr] 486 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 486 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/toolbox_controller.rs:61:45 [INFO] [stderr] | [INFO] [stderr] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> B... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 | fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/toolbox_controller.rs:183:43 [INFO] [stderr] | [INFO] [stderr] 183 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 183 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animation_canvas/canvas_renderer.rs:114:99 [INFO] [stderr] | [INFO] [stderr] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 114 | fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut dyn GraphicsPrimitives, drawing: DrawIter) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:71:87 [INFO] [stderr] | [INFO] [stderr] 71 | impl PartialEq for Tool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 71 | impl PartialEq for dyn Tool { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_trait.rs:72:26 [INFO] [stderr] | [INFO] [stderr] 72 | fn eq(&self, other: &Tool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 72 | fn eq(&self, other: &dyn Tool) -> bool { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_set.rs:25:37 [INFO] [stderr] | [INFO] [stderr] 25 | impl PartialEq for ToolSet { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 25 | impl PartialEq for dyn ToolSet { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_set.rs:26:26 [INFO] [stderr] | [INFO] [stderr] 26 | fn eq(&self, other: &ToolSet) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 | fn eq(&self, other: &dyn ToolSet) -> bool { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:144:115 [INFO] [stderr] | [INFO] [stderr] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 144 | fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:150:103 [INFO] [stderr] | [INFO] [stderr] 150 | ... tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:160:87 [INFO] [stderr] | [INFO] [stderr] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> B... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:160:141 [INFO] [stderr] | [INFO] [stderr] 160 | ...r>>) -> Box<'a+Iterator>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_runner.rs:77:44 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn model_actions(&mut self) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 77 | pub fn model_actions(&mut self) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/tool_runner.rs:97:110 [INFO] [stderr] | [INFO] [stderr] 97 | ...ricToolData>>>(&mut self, input: Iter) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 97 | pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:271:112 [INFO] [stderr] | [INFO] [stderr] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 271 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:278:98 [INFO] [stderr] | [INFO] [stderr] 278 | ...>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 278 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:342:79 [INFO] [stderr] | [INFO] [stderr] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/select.rs:342:128 [INFO] [stderr] | [INFO] [stderr] 342 | ...a+Iterator>>) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 342 | fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/adjust.rs:34:103 [INFO] [stderr] | [INFO] [stderr] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 | fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/adjust.rs:38:76 [INFO] [stderr] | [INFO] [stderr] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/adjust.rs:38:117 [INFO] [stderr] | [INFO] [stderr] 38 | ...nput: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/pan.rs:32:76 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 4 tests [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/pan.rs:32:117 [INFO] [stderr] | [INFO] [stderr] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/pencil.rs:32:76 [INFO] [stderr] | [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/pencil.rs:32:117 [INFO] [stderr] | [INFO] [stderr] 32 | ...input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 | fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/ink.rs:113:108 [INFO] [stderr] | [INFO] [stderr] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/ink.rs:120:95 [INFO] [stderr] | [INFO] [stderr] 120 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 120 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/ink.rs:141:80 [INFO] [stderr] | [INFO] [stderr] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator<... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/ink.rs:141:126 [INFO] [stderr] | [INFO] [stdout] test tools::generic_tool::test::data_survives_round_trip ... ok [INFO] [stderr] 141 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stdout] test tools::generic_tool::test::model_survives_round_trip ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 141 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/eraser.rs:57:108 [INFO] [stderr] | [INFO] [stderr] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 57 | fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/eraser.rs:61:95 [INFO] [stderr] | [INFO] [stderr] 61 | ...odel>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 | fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/eraser.rs:79:79 [INFO] [stderr] | [INFO] [stderr] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/eraser.rs:79:125 [INFO] [stderr] | [INFO] [stderr] 79 | ...x<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 79 | fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/tools.rs:73:148 [INFO] [stderr] | [INFO] [stderr] 73 | ...er: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stdout] test tools::generic_tool::test::generates_generic_data_for_standard_data ... ok [INFO] [stderr] 73 | fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:40:76 [INFO] [stderr] | [INFO] [stderr] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 | fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:47:44 [INFO] [stderr] | [INFO] [stderr] 47 | fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 47 | fn get_log<'a>(&'a self) -> Reader<'a, dyn EditLog> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:54:41 [INFO] [stderr] | [INFO] [stderr] 54 | fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 | fn edit<'a>(&'a self) -> Editor<'a, dyn PendingEditLog> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:102:62 [INFO] [stderr] | [INFO] [stderr] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 102 | fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, dyn PendingEditLog> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/mod.rs:154:57 [INFO] [stderr] | [INFO] [stderr] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 154 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/menu/ink.rs:317:43 [INFO] [stderr] | [INFO] [stderr] 317 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 317 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/menu/ink.rs:321:57 [INFO] [stderr] | [INFO] [stderr] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 321 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/menu/eraser.rs:227:43 [INFO] [stderr] | [INFO] [stderr] 227 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 227 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/color/color_picker_controller.rs:49:57 [INFO] [stderr] | [INFO] [stderr] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 | fn get_subcontroller(&self, id: &str) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/color/hsluv_picker_controller.rs:251:43 [INFO] [stderr] | [INFO] [stderr] 251 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 251 | fn get_viewmodel(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/color/hsluv_picker_controller.rs:255:58 [INFO] [stderr] | [INFO] [stderr] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 255 | fn get_subcontroller(&self, _id: &str) -> Option> { None } [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animation_canvas/canvas_renderer.rs:224:44 [INFO] [stderr] | [INFO] [stderr] 224 | fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 224 | fn draw_background(&mut self, gc: &mut dyn GraphicsPrimitives, (width, height): (f64, f64)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animation_canvas/canvas_renderer.rs:356:47 [INFO] [stderr] | [INFO] [stderr] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_anno... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 356 | pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/animation_canvas/canvas_renderer.rs:400:48 [INFO] [stderr] | [INFO] [stderr] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_d... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 400 | pub fn commit_to_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, commit_drawing: DrawFn) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/layer.rs:23:39 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new<'a>(layer: &Reader<'a, dyn Layer>) -> LayerModel { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/editor/mod.rs:50:60 [INFO] [stderr] | [INFO] [stderr] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 | let mut subcontrollers: HashMap> = HashMap::new(); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:153:43 [INFO] [stderr] | [INFO] [stderr] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 153 | .map(move |tool_model| -> Box, Error=()>+Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/standard_tools/eraser.rs:83:19 [INFO] [stderr] | [INFO] [stderr] 83 | let ink: &Tool = &self.ink; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 83 | let ink: &dyn Tool = &self.ink; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/tools.rs:38:40 [INFO] [stderr] | [INFO] [stderr] 38 | let default_tool_sets: Vec>> = vec![ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 | let default_tool_sets: Vec>> = vec![ [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:95:27 [INFO] [stderr] | [INFO] [stderr] 95 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 95 | let edit_log: Box> = Box::new(model_edit); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/model/animation.rs:133:27 [INFO] [stderr] | [INFO] [stderr] 133 | let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 133 | let edit_log: Box> = Box::new(model_edit); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/standard_tools/eraser.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let mut model = InkModel::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/model/frame.rs:68:35 [INFO] [stderr] | [INFO] [stderr] 68 | Entry::Vacant(mut vacant) => { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant `LAYER_PANEL_WIDTH` is never used [INFO] [stderr] --> src/editor/timeline_controller.rs:43:7 [INFO] [stderr] | [INFO] [stderr] 43 | const LAYER_PANEL_WIDTH: f32 = 256.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variants `Select`, `RubberBand`, and `Drag` are never constructed [INFO] [stderr] --> src/standard_tools/select.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 30 | enum SelectAction { [INFO] [stderr] | ------------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 35 | Select, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | RubberBand, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 41 | Drag [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SelectAction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `with_initial_position` is never used [INFO] [stderr] --> src/standard_tools/select.rs:83:8 [INFO] [stderr] | [INFO] [stderr] 67 | impl SelectData { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `flo` (lib) generated 85 warnings (run `cargo fix --lib -p flo` to apply 82 suggestions) [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/tools/generic_tool.rs:269:81 [INFO] [stderr] | [INFO] [stderr] 269 | let model = generic_tool.create_model(Arc::clone(&flo_model));; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:201:80 [INFO] [stderr] | [INFO] [stderr] 201 | ... fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 201 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tools/generic_tool.rs:201:122 [INFO] [stderr] | [INFO] [stderr] 201 | ...ut: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 201 | fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `flo` (lib test) generated 88 warnings (85 duplicates) (run `cargo fix --lib -p flo --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: typemap v0.3.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/flo-593a57af7dd53e45) [INFO] [stdout] test model::animation::test::size_command_updates_size_binding ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "aa3d4701032bde61de7f0a72c9d765dc7fb60b0ae0b5f34255794b3f9136a284", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa3d4701032bde61de7f0a72c9d765dc7fb60b0ae0b5f34255794b3f9136a284", kill_on_drop: false }` [INFO] [stdout] aa3d4701032bde61de7f0a72c9d765dc7fb60b0ae0b5f34255794b3f9136a284