[INFO] fetching crate flo 0.1.0... [INFO] testing flo-0.1.0 against 1.60.0 for beta-1.61-1 [INFO] extracting crate flo 0.1.0 into /workspace/builds/worker-111/source [INFO] validating manifest of crates.io crate flo 0.1.0 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-111/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d194172806fd599260dd726b4ad23aba9cf615aa8173929100e055160413b8bb [INFO] running `Command { std: "docker" "start" "-a" "d194172806fd599260dd726b4ad23aba9cf615aa8173929100e055160413b8bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d194172806fd599260dd726b4ad23aba9cf615aa8173929100e055160413b8bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d194172806fd599260dd726b4ad23aba9cf615aa8173929100e055160413b8bb", kill_on_drop: false }` [INFO] [stdout] d194172806fd599260dd726b4ad23aba9cf615aa8173929100e055160413b8bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0bdb40c03246b0a3790194ece1e9d79a6f8c91e6666ebea132dd8e5a1f937f80 [INFO] running `Command { std: "docker" "start" "-a" "0bdb40c03246b0a3790194ece1e9d79a6f8c91e6666ebea132dd8e5a1f937f80", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.123 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling rawpointer v0.1.0 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling traitobject v0.1.0 [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-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-iter v0.1.42 [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 typemap v0.3.3 [INFO] [stderr] Compiling num_cpus v1.13.1 [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 num v0.1.42 [INFO] [stderr] Compiling png v0.11.0 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling rulinalg v0.4.2 [INFO] [stderr] Compiling flo_curves v0.1.0 [INFO] [stderr] Compiling flo_canvas v0.1.0 [INFO] [stderr] Compiling flo_ui v0.1.0 [INFO] [stderr] Compiling flo_animation v0.1.0 [INFO] [stderr] Compiling flo v0.1.0 (/opt/rustwide/workdir) [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] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - tool_controllers: Mutex>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - subcontrollers: HashMap> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - layer_frame: Arc, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub type FloTool = Tool; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - pub struct GenericToolData(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - pub struct GenericToolModel(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 - model_actions: Option, Error=()>+Send>>> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub tool_sets: Binding>>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - frame: BindRef>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - frame: Option>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - pub frame: BindRef>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 - fn get_subcontroller(&self, id: &str) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 - fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 - fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [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: 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] 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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - impl PartialEq for Tool { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 - fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn eq(&self, other: &Tool) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - impl PartialEq for ToolSet { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - fn eq(&self, other: &ToolSet) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 - pub fn model_actions(&mut self) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn get_subcontroller(&self, _id: &str) -> Option> { None } [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let mut subcontrollers: HashMap> = HashMap::new(); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - .map(move |tool_model| -> Box, Error=()>+Send> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 - let ink: &Tool = &self.ink; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - let default_tool_sets: Vec>> = vec![ [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 is never used: `LAYER_PANEL_WIDTH` [INFO] [stdout] --> src/editor/timeline_controller.rs:43:1 [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: variant is never constructed: `Select` [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Select, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RubberBand` [INFO] [stdout] --> src/standard_tools/select.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | RubberBand, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Drag` [INFO] [stdout] --> src/standard_tools/select.rs:41:5 [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_initial_position` [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 85 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.03s [INFO] running `Command { std: "docker" "inspect" "0bdb40c03246b0a3790194ece1e9d79a6f8c91e6666ebea132dd8e5a1f937f80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bdb40c03246b0a3790194ece1e9d79a6f8c91e6666ebea132dd8e5a1f937f80", kill_on_drop: false }` [INFO] [stdout] 0bdb40c03246b0a3790194ece1e9d79a6f8c91e6666ebea132dd8e5a1f937f80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b82f0f33f3bb8752d4e368ba8bc2904405a12733af69d5d478790884e22a4b7 [INFO] running `Command { std: "docker" "start" "-a" "2b82f0f33f3bb8752d4e368ba8bc2904405a12733af69d5d478790884e22a4b7", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - tool_controllers: Mutex>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - subcontrollers: HashMap> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - layer_frame: Arc, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub type FloTool = Tool; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - pub struct GenericToolData(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - pub struct GenericToolModel(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 - model_actions: Option, Error=()>+Send>>> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub tool_sets: Binding>>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - frame: BindRef>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - frame: Option>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - pub frame: BindRef>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 - fn get_subcontroller(&self, id: &str) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 - fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 - fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [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: 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] 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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - impl PartialEq for Tool { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 - fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn eq(&self, other: &Tool) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - impl PartialEq for ToolSet { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - fn eq(&self, other: &ToolSet) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 - pub fn model_actions(&mut self) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn get_subcontroller(&self, _id: &str) -> Option> { None } [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let mut subcontrollers: HashMap> = HashMap::new(); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - .map(move |tool_model| -> Box, Error=()>+Send> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 - let ink: &Tool = &self.ink; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - let default_tool_sets: Vec>> = vec![ [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 is never used: `LAYER_PANEL_WIDTH` [INFO] [stdout] --> src/editor/timeline_controller.rs:43:1 [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: variant is never constructed: `Select` [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Select, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RubberBand` [INFO] [stdout] --> src/standard_tools/select.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | RubberBand, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Drag` [INFO] [stdout] --> src/standard_tools/select.rs:41:5 [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_initial_position` [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling flo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: 85 warnings emitted [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: 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] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: 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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - tool_controllers: Mutex>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 - subcontrollers: HashMap> [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 19 - layer_frame: Arc, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 22 - pub type FloTool = Tool; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 - pub struct GenericToolData(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - pub struct GenericToolModel(Mutex>); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 - model_actions: Option, Error=()>+Send>>> [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub tool_sets: Binding>>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 20 - frame: BindRef>>, [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - frame: Option>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 18 - pub frame: BindRef>>, [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 154 - fn get_subcontroller(&self, id: &str) -> Option> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 376 - fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 486 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 183 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 114 - fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 224 - fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 356 - pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [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: 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] 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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 71 - impl PartialEq for Tool { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 - fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 72 - fn eq(&self, other: &Tool) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 25 - impl PartialEq for ToolSet { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - fn eq(&self, other: &ToolSet) -> bool { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 150 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 77 - pub fn model_actions(&mut self) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 97 - pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 271 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 278 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 113 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 57 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 321 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 227 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 255 - fn get_subcontroller(&self, _id: &str) -> Option> { None } [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 73 - fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 - fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 - fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 201 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 201 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 - let mut subcontrollers: HashMap> = HashMap::new(); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 153 - .map(move |tool_model| -> Box, Error=()>+Send> { [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 83 - let ink: &Tool = &self.ink; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 - let default_tool_sets: Vec>> = vec![ [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 95 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 is never used: `LAYER_PANEL_WIDTH` [INFO] [stdout] --> src/editor/timeline_controller.rs:43:1 [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: variant is never constructed: `Select` [INFO] [stdout] --> src/standard_tools/select.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | Select, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `RubberBand` [INFO] [stdout] --> src/standard_tools/select.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | RubberBand, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Drag` [INFO] [stdout] --> src/standard_tools/select.rs:41:5 [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] --> src/standard_tools/select.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `with_initial_position` [INFO] [stdout] --> src/standard_tools/select.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 88 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 7.50s [INFO] running `Command { std: "docker" "inspect" "2b82f0f33f3bb8752d4e368ba8bc2904405a12733af69d5d478790884e22a4b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b82f0f33f3bb8752d4e368ba8bc2904405a12733af69d5d478790884e22a4b7", kill_on_drop: false }` [INFO] [stdout] 2b82f0f33f3bb8752d4e368ba8bc2904405a12733af69d5d478790884e22a4b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-111/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c3ca21a87ba71fea3e108368ec9cc87858c6cbe7d1770dc4e57eda612b90607a [INFO] running `Command { std: "docker" "start" "-a" "c3ca21a87ba71fea3e108368ec9cc87858c6cbe7d1770dc4e57eda612b90607a", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 - tool_controllers: Mutex>>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 - subcontrollers: HashMap> [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 19 - layer_frame: Arc, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 22 - pub type FloTool = Tool; [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 45 - pub struct GenericToolData(Mutex>); [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 - pub struct GenericToolModel(Mutex>); [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 - model_actions: Option, Error=()>+Send>>> [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 - pub tool_sets: Binding>>>, [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 20 - frame: BindRef>>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 - frame: Option>, [INFO] [stderr] 50 + frame: Option>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 18 - pub frame: BindRef>>, [INFO] [stderr] 18 + pub frame: BindRef>>, [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 154 - fn get_subcontroller(&self, id: &str) -> Option> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 97 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 214 - fn create_draw_keyframes_fn(timeline: &TimelineModel) -> Box Box ()+Send+Sync>+Send+Sync> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 300 - fn draw_scale(x: f32, _y: f32) -> Box ()+Send+Sync> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 356 - fn draw_frame_indicator(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 376 - fn draw_frame_indicator_line(gc: &mut GraphicsPrimitives) -> () { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 486 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 - fn create_ui(tool_sets: Binding>>>, viewmodel: Arc, images: Arc>) -> BindRef { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 183 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 114 - fn relay_drawing_for_overlay>(&mut self, overlay: u32, gc: &mut GraphicsPrimitives, drawing: DrawIter) { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 224 - fn draw_background(&mut self, gc: &mut GraphicsPrimitives, (width, height): (f64, f64)) { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 356 - pub fn annotate_layer ()+Send>(&mut self, canvas: &BindingCanvas, layer_id: u64, draw_annotations: DrawFn) { [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: 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] 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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 71 - impl PartialEq for Tool { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 51 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 58 - fn actions_for_model(&self, _flo_model: Arc>, _tool_model: &Self::Model) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 65 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>>; [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 72 - fn eq(&self, other: &Tool) -> bool { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 25 - impl PartialEq for ToolSet { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 - fn eq(&self, other: &ToolSet) -> bool { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 144 - fn create_menu_controller(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 150 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &GenericToolModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 160 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 77 - pub fn model_actions(&mut self) -> Box>> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 97 - pub fn actions_for_input>>(&mut self, input: Iter) -> Box>> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 271 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &SelectModel) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 278 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &SelectModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 342 - fn actions_for_input<'a>(&self, data: Option>, input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 - fn create_menu_controller(&self, _flo_model: Arc>, _tool_model: &()) -> Option> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/pan.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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 32 - fn actions_for_input<'a>(&'a self, _data: Option>, _input: Box<'a+Iterator>>) -> Box>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 113 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 120 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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:126 [INFO] [stderr] | [INFO] [stderr] 141 | ...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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 141 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 57 - fn create_menu_controller(&self, _flo_model: Arc>, tool_model: &InkModel) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 61 - fn actions_for_model(&self, flo_model: Arc>, tool_model: &InkModel) -> Box, Error=()>+Send> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 79 - fn actions_for_input<'a>(&'a self, data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 317 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 321 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 227 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 - fn get_subcontroller(&self, id: &str) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 251 - fn get_viewmodel(&self) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 255 - fn get_subcontroller(&self, _id: &str) -> Option> { None } [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 73 - fn effective_tool(selected_tool: Binding>>>, current_pointer: Binding<(PaintDevice, i32)>, tool_sets: Binding>>>) -> BindRef>>> { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 23 - pub fn new<'a>(layer: &Reader<'a, Layer>) -> LayerModel { [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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 - fn get_layer_with_id<'a>(&'a self, layer_id: u64) -> Option> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 47 - fn get_log<'a>(&'a self) -> Reader<'a, EditLog> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 - fn edit<'a>(&'a self) -> Editor<'a, PendingEditLog> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 102 - fn edit_layer<'a>(&'a self, layer_id: u64) -> Editor<'a, PendingEditLog> { [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 - let mut subcontrollers: HashMap> = HashMap::new(); [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 153 - .map(move |tool_model| -> Box, Error=()>+Send> { [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 83 - let ink: &Tool = &self.ink; [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 38 - let default_tool_sets: Vec>> = vec![ [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 95 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 133 - let edit_log: Box<'a+PendingEditLog<_>> = Box::new(model_edit); [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 is never used: `LAYER_PANEL_WIDTH` [INFO] [stderr] --> src/editor/timeline_controller.rs:43:1 [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: variant is never constructed: `Select` [INFO] [stderr] --> src/standard_tools/select.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | Select, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RubberBand` [INFO] [stderr] --> src/standard_tools/select.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | RubberBand, [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] --> src/standard_tools/select.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Drag` [INFO] [stderr] --> src/standard_tools/select.rs:41:5 [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] --> src/standard_tools/select.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | #[derive(Copy, Clone)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `with_initial_position` [INFO] [stderr] --> src/standard_tools/select.rs:83:8 [INFO] [stderr] | [INFO] [stderr] 83 | fn with_initial_position(&self, new_initial_position: RawPoint) -> SelectData { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [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: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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 201 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stderr] 201 + 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/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: use `dyn` [INFO] [stderr] | [INFO] [stderr] 201 - fn actions_for_input<'a>(&'a self, _data: Option>, input: Box<'a+Iterator>>) -> Box<'a+Iterator>> { [INFO] [stderr] 201 + fn actions_for_input<'a>(&'a self, _data: Option>, input: Box>>) -> Box<'a+Iterator>> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `flo` (lib) generated 85 warnings [INFO] [stderr] warning: `flo` (lib test) generated 88 warnings (85 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.44s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/flo-46fa6610417a9021) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tools::generic_tool::test::data_survives_round_trip ... ok [INFO] [stdout] test tools::generic_tool::test::model_survives_round_trip ... ok [INFO] [stdout] test tools::generic_tool::test::generates_generic_data_for_standard_data ... ok [INFO] [stderr] Doc-tests flo [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.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c3ca21a87ba71fea3e108368ec9cc87858c6cbe7d1770dc4e57eda612b90607a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3ca21a87ba71fea3e108368ec9cc87858c6cbe7d1770dc4e57eda612b90607a", kill_on_drop: false }` [INFO] [stdout] c3ca21a87ba71fea3e108368ec9cc87858c6cbe7d1770dc4e57eda612b90607a