[INFO] updating cached repository https://github.com/HalfVoxel/graphica [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/HalfVoxel/graphica [INFO] [stderr] 7b2c883..05d65bc master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 05d65bc78904f3f86dd0b5887e2c9be4e777ee97 [INFO] checking HalfVoxel/graphica against master#ba72b15666b2491415aec703a02c2364fe5e2790 for pr-71140 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHalfVoxel%2Fgraphica" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/HalfVoxel/graphica on toolchain ba72b15666b2491415aec703a02c2364fe5e2790 [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/HalfVoxel/graphica [INFO] finished tweaking git repo https://github.com/HalfVoxel/graphica [INFO] tweaked toml for git repo https://github.com/HalfVoxel/graphica written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/HalfVoxel/graphica already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /workspace/builds/worker-0/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 82e2290af9a293ecab909c8a8a94162cdaa5babc99fa4ec960ebd25439ab5c34 [INFO] running `"docker" "start" "-a" "82e2290af9a293ecab909c8a8a94162cdaa5babc99fa4ec960ebd25439ab5c34"` [INFO] [stderr] Checking by_address v1.0.4 [INFO] [stderr] Checking kurbo v0.5.11 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking sid v0.6.1 [INFO] [stderr] Checking gfx-hal v0.5.0 [INFO] [stderr] Checking ash v0.30.0 [INFO] [stderr] Compiling wayland-scanner v0.23.6 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking lyon_geom v0.15.2 [INFO] [stderr] Checking rusttype v0.8.3 [INFO] [stderr] Compiling palette_derive v0.5.0 [INFO] [stderr] Checking wayland-commons v0.23.6 [INFO] [stderr] Checking async-std v1.5.0 [INFO] [stderr] Compiling peek-poke-derive v0.2.1 [INFO] [stderr] Checking calloop v0.4.4 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking lyon_path v0.15.2 [INFO] [stderr] Compiling palette v0.5.0 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking criterion v0.3.1 [INFO] [stderr] Checking lyon_algorithms v0.15.0 [INFO] [stderr] Checking lyon_tessellation v0.15.6 [INFO] [stderr] Checking peek-poke v0.2.0 [INFO] [stderr] Checking lyon v0.15.6 [INFO] [stderr] Checking wgpu-types v0.5.0 [INFO] [stderr] Compiling wayland-client v0.23.6 [INFO] [stderr] Compiling wayland-protocols v0.23.6 [INFO] [stderr] Checking gfx-descriptor v0.1.0 [INFO] [stderr] Checking gfx-memory v0.1.3 [INFO] [stderr] Checking gfx-backend-empty v0.5.0 [INFO] [stderr] Checking smithay-client-toolkit v0.6.6 [INFO] [stderr] Checking winit v0.20.0 [INFO] [stderr] Checking gfx-backend-vulkan v0.5.2 [INFO] [stderr] Checking wgpu-core v0.5.1 [INFO] [stderr] Checking wgpu-native v0.5.0 [INFO] [stderr] Checking wgpu v0.5.0 [INFO] [stderr] Checking graphica v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `kurbo::common::GAUSS_LEGENDRE_COEFFS_5` [INFO] [stderr] --> src/geometry_utilities.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use kurbo::common::GAUSS_LEGENDRE_COEFFS_5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `kurbo::common::GAUSS_LEGENDRE_COEFFS_3` [INFO] [stderr] --> src/geometry_utilities.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use kurbo::common::GAUSS_LEGENDRE_COEFFS_3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `kurbo::ParamCurveArclen` [INFO] [stderr] --> src/geometry_utilities.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use kurbo::ParamCurveArclen; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Hash` [INFO] [stderr] --> src/path.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `euclid` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use euclid; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap`, `HashSet` [INFO] [stderr] --> src/main.rs:10:24 [INFO] [stderr] | [INFO] [stderr] 10 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `VectorFieldPrimitive`, `VectorField`, `poisson_disc_sampling`, `sqr_distance_bezier_point_binary`, `sqr_distance_bezier_point_lower_bound`, `sqr_distance_bezier_point` [INFO] [stderr] --> src/main.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive, ParamCurveDistanceEval}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CapturedClick`, `CircleShape` [INFO] [stderr] --> src/main.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | use crate::input::{CapturedClick, CircleShape, InputManager, KeyCombination}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlPointReference`, `MutableReferenceResolver`, `PathReference`, `SelectionReference` [INFO] [stderr] --> src/main.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 28 | VertexReference, PathReference [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `RefMut`, `Ref` [INFO] [stderr] --> src/main.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | use std::cell::{RefCell, RefMut, Ref}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Rem` [INFO] [stderr] --> src/main.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use std::ops::Rem; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `lyon::math::*` [INFO] [stderr] --> src/brush_editor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use lyon::math::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `kurbo::common::GAUSS_LEGENDRE_COEFFS_5` [INFO] [stderr] --> src/geometry_utilities.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use kurbo::common::GAUSS_LEGENDRE_COEFFS_5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `kurbo::common::GAUSS_LEGENDRE_COEFFS_3` [INFO] [stderr] --> src/geometry_utilities.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use kurbo::common::GAUSS_LEGENDRE_COEFFS_3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Hash` [INFO] [stderr] --> src/path.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use std::hash::{Hash, Hasher}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/brush_editor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `VectorFieldPrimitive`, `VectorField`, `poisson_disc_sampling`, `sqr_distance_bezier_point_binary`, `sqr_distance_bezier_point_lower_bound`, `sqr_distance_bezier_point` [INFO] [stderr] --> src/brush_editor.rs:8:33 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlPointReference`, `MutableReferenceResolver`, `PathCollection`, `PathReference`, `ReferenceResolver`, `SelectionReference`, `VertexReference` [INFO] [stderr] --> src/brush_editor.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | VertexReference, PathReference [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `euclid` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use euclid; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap`, `HashSet` [INFO] [stderr] --> src/main.rs:10:24 [INFO] [stderr] | [INFO] [stderr] 10 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `VectorFieldPrimitive`, `VectorField`, `poisson_disc_sampling`, `sqr_distance_bezier_point_binary`, `sqr_distance_bezier_point_lower_bound`, `sqr_distance_bezier_point` [INFO] [stderr] --> src/main.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive, ParamCurveDistanceEval}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CapturedClick`, `CircleShape` [INFO] [stderr] --> src/main.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | use crate::input::{CapturedClick, CircleShape, InputManager, KeyCombination}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlPointReference`, `MutableReferenceResolver`, `PathReference`, `SelectionReference` [INFO] [stderr] --> src/main.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 28 | VertexReference, PathReference [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `RefMut`, `Ref` [INFO] [stderr] --> src/main.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | use std::cell::{RefCell, RefMut, Ref}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Rem` [INFO] [stderr] --> src/main.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use std::ops::Rem; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `lyon::math::*` [INFO] [stderr] --> src/brush_editor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use lyon::math::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/brush_editor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `VectorFieldPrimitive`, `VectorField`, `poisson_disc_sampling`, `sqr_distance_bezier_point_binary`, `sqr_distance_bezier_point_lower_bound`, `sqr_distance_bezier_point` [INFO] [stderr] --> src/brush_editor.rs:8:33 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap`, `HashSet` [INFO] [stderr] --> src/brush_editor.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SeedableRng`, `rngs::StdRng` [INFO] [stderr] --> src/brush_editor.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | use rand::{rngs::StdRng, SeedableRng}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sqr_distance_bezier_point` [INFO] [stderr] --> src/path_editor.rs:7:56 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/path_editor.rs:12:24 [INFO] [stderr] | [INFO] [stderr] 12 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlPointReference`, `MutableReferenceResolver`, `PathCollection`, `PathReference`, `ReferenceResolver`, `SelectionReference`, `VertexReference` [INFO] [stderr] --> src/brush_editor.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | VertexReference, PathReference [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HashMap`, `HashSet` [INFO] [stderr] --> src/brush_editor.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SeedableRng`, `rngs::StdRng` [INFO] [stderr] --> src/brush_editor.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | use rand::{rngs::StdRng, SeedableRng}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sqr_distance_bezier_point` [INFO] [stderr] --> src/path_editor.rs:7:56 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::geometry_utilities::{poisson_disc_sampling, sqr_distance_bezier_point, sqr_distance_bezier_point_binary, sqr_distance_bezier_point_lower_bound, VectorField, VectorFieldPrimitive}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/path_editor.rs:12:24 [INFO] [stderr] | [INFO] [stderr] 12 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hash` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::hash::Hash; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReferenceResolver` [INFO] [stderr] --> src/main.rs:27:70 [INFO] [stderr] | [INFO] [stderr] 27 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t3` [INFO] [stderr] --> src/geometry_utilities.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | let t3 = t1 * t1 * t1; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t3` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clearance` [INFO] [stderr] --> src/geometry_utilities.rs:812:64 [INFO] [stderr] | [INFO] [stderr] 812 | pub fn trace_with_clearance(&self, mut point: CanvasPoint, clearance: f32) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clearance` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/geometry_utilities.rs:849:12 [INFO] [stderr] | [INFO] [stderr] 849 | fn add(point: ImmutablePathPoint<'a>) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/path.rs:378:37 [INFO] [stderr] | [INFO] [stderr] 378 | pub fn remove<'a>(&'a mut self, index: usize) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t0` [INFO] [stderr] --> src/main.rs:846:13 [INFO] [stderr] | [INFO] [stderr] 846 | let t0 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t1` [INFO] [stderr] --> src/main.rs:899:13 [INFO] [stderr] | [INFO] [stderr] 899 | let t1 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t3` [INFO] [stderr] --> src/main.rs:908:13 [INFO] [stderr] | [INFO] [stderr] 908 | let t3 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_instances` [INFO] [stderr] --> src/main.rs:430:9 [INFO] [stderr] | [INFO] [stderr] 430 | let num_instances: u32 = PRIM_BUFFER_LEN as u32 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_instances` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke_range` [INFO] [stderr] --> src/main.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | let stroke_range = fill_range.end..(geometry.indices.len() as u32); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_range` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | fn new(brush_data: &BrushData, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder, bind_group_layout: &wgpu::BindGroupLayout, scene_ubo: &Buffer, scene_ubo_size: u64, render_pipeline_brush: &Rc, texture: &Texture) -> BrushRenderer { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:281:26 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `device` [INFO] [stderr] --> src/main.rs:281:45 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `encoder` [INFO] [stderr] --> src/main.rs:281:62 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vbo_size` [INFO] [stderr] --> src/main.rs:324:19 [INFO] [stderr] | [INFO] [stderr] 324 | let (vbo, vbo_size) = create_buffer_via_transfer(device, encoder, &geometry.vertices, wgpu::BufferUsage::VERTEX, "Document VBO"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vbo_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ibo_size` [INFO] [stderr] --> src/main.rs:338:19 [INFO] [stderr] | [INFO] [stderr] 338 | let (ibo, ibo_size) = create_buffer_via_transfer(device, encoder, &indices, wgpu::BufferUsage::INDEX, "Document IBO"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ibo_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/gui.rs:346:26 [INFO] [stderr] | [INFO] [stderr] 346 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) {} [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/gui.rs:346:54 [INFO] [stderr] | [INFO] [stderr] 346 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/gui.rs:347:25 [INFO] [stderr] | [INFO] [stderr] 347 | fn input(&mut self, context: &mut WidgetContext, input: &mut InputManager) {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/gui.rs:347:60 [INFO] [stderr] | [INFO] [stderr] 347 | fn input(&mut self, context: &mut WidgetContext, input: &mut InputManager) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root` [INFO] [stderr] --> src/gui.rs:31:26 [INFO] [stderr] | [INFO] [stderr] 31 | fn render(&mut self, root: &mut RootWrapper, document: &mut Document, view: &CanvasView) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/gui.rs:310:29 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn input(&mut self, ui_document: &mut Document, input: &mut InputManager) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `captured` [INFO] [stderr] --> src/brush_editor.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | if let Some(captured) = input.capture_click(MouseButton::Left) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_captured` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/brush_editor.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn update(&mut self, ui_document: &mut Document, document: &mut Document, view: &CanvasView, input: &mut InputManager, tool: &ToolType) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `next` [INFO] [stderr] --> src/path_editor.rs:149:34 [INFO] [stderr] | [INFO] [stderr] 149 | .filter(|next| point_set.contains(&vertex_ref2)) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_next` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/path_editor.rs:486:18 [INFO] [stderr] | [INFO] [stderr] 486 | for (i, &p) in samples.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | fn on_change_tool(&mut self, context: &mut WidgetContext, ev: &ToolSelected) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | fn mount(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/toolbar.rs:120:54 [INFO] [stderr] | [INFO] [stderr] 120 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | fn update(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:184:26 [INFO] [stderr] | [INFO] [stderr] 184 | fn update(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/geometry_utilities.rs:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | mut distance: f32, [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: unused import: `std::hash::Hash` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::hash::Hash; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ReferenceResolver` [INFO] [stderr] --> src/main.rs:27:70 [INFO] [stderr] | [INFO] [stderr] 27 | ControlPointReference, MutableReferenceResolver, PathCollection, ReferenceResolver, SelectionReference, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t3` [INFO] [stderr] --> src/geometry_utilities.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | let t3 = t1 * t1 * t1; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t3` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clearance` [INFO] [stderr] --> src/geometry_utilities.rs:812:64 [INFO] [stderr] | [INFO] [stderr] 812 | pub fn trace_with_clearance(&self, mut point: CanvasPoint, clearance: f32) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clearance` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point` [INFO] [stderr] --> src/geometry_utilities.rs:849:12 [INFO] [stderr] | [INFO] [stderr] 849 | fn add(point: ImmutablePathPoint<'a>) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_point` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/path.rs:378:37 [INFO] [stderr] | [INFO] [stderr] 378 | pub fn remove<'a>(&'a mut self, index: usize) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t0` [INFO] [stderr] --> src/main.rs:846:13 [INFO] [stderr] | [INFO] [stderr] 846 | let t0 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t0` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t1` [INFO] [stderr] --> src/main.rs:899:13 [INFO] [stderr] | [INFO] [stderr] 899 | let t1 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t3` [INFO] [stderr] --> src/main.rs:908:13 [INFO] [stderr] | [INFO] [stderr] 908 | let t3 = Instant::now(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_t3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num_instances` [INFO] [stderr] --> src/main.rs:430:9 [INFO] [stderr] | [INFO] [stderr] 430 | let num_instances: u32 = PRIM_BUFFER_LEN as u32 - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_instances` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke_range` [INFO] [stderr] --> src/main.rs:467:9 [INFO] [stderr] | [INFO] [stderr] 467 | let stroke_range = fill_range.end..(geometry.indices.len() as u32); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stroke_range` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | fn new(brush_data: &BrushData, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder, bind_group_layout: &wgpu::BindGroupLayout, scene_ubo: &Buffer, scene_ubo_size: u64, render_pipeline_brush: &Rc, texture: &Texture) -> BrushRenderer { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/main.rs:281:26 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `device` [INFO] [stderr] --> src/main.rs:281:45 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `encoder` [INFO] [stderr] --> src/main.rs:281:62 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vbo_size` [INFO] [stderr] --> src/main.rs:324:19 [INFO] [stderr] | [INFO] [stderr] 324 | let (vbo, vbo_size) = create_buffer_via_transfer(device, encoder, &geometry.vertices, wgpu::BufferUsage::VERTEX, "Document VBO"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vbo_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ibo_size` [INFO] [stderr] --> src/main.rs:338:19 [INFO] [stderr] | [INFO] [stderr] 338 | let (ibo, ibo_size) = create_buffer_via_transfer(device, encoder, &indices, wgpu::BufferUsage::INDEX, "Document IBO"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ibo_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/gui.rs:346:26 [INFO] [stderr] | [INFO] [stderr] 346 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) {} [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/gui.rs:346:54 [INFO] [stderr] | [INFO] [stderr] 346 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) {} [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/gui.rs:347:25 [INFO] [stderr] | [INFO] [stderr] 347 | fn input(&mut self, context: &mut WidgetContext, input: &mut InputManager) {} [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/gui.rs:347:60 [INFO] [stderr] | [INFO] [stderr] 347 | fn input(&mut self, context: &mut WidgetContext, input: &mut InputManager) {} [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `root` [INFO] [stderr] --> src/gui.rs:31:26 [INFO] [stderr] | [INFO] [stderr] 31 | fn render(&mut self, root: &mut RootWrapper, document: &mut Document, view: &CanvasView) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/gui.rs:310:29 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn input(&mut self, ui_document: &mut Document, input: &mut InputManager) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `captured` [INFO] [stderr] --> src/brush_editor.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | if let Some(captured) = input.capture_click(MouseButton::Left) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_captured` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui_document` [INFO] [stderr] --> src/brush_editor.rs:26:30 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn update(&mut self, ui_document: &mut Document, document: &mut Document, view: &CanvasView, input: &mut InputManager, tool: &ToolType) { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `next` [INFO] [stderr] --> src/path_editor.rs:149:34 [INFO] [stderr] | [INFO] [stderr] 149 | .filter(|next| point_set.contains(&vertex_ref2)) [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_next` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/path_editor.rs:486:18 [INFO] [stderr] | [INFO] [stderr] 486 | for (i, &p) in samples.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | fn on_change_tool(&mut self, context: &mut WidgetContext, ev: &ToolSelected) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:117:25 [INFO] [stderr] | [INFO] [stderr] 117 | fn mount(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `view` [INFO] [stderr] --> src/toolbar.rs:120:54 [INFO] [stderr] | [INFO] [stderr] 120 | fn render(&mut self, ui_document: &mut Document, view: &CanvasView) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_view` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:133:26 [INFO] [stderr] | [INFO] [stderr] 133 | fn update(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/toolbar.rs:184:26 [INFO] [stderr] | [INFO] [stderr] 184 | fn update(&mut self, context: &mut WidgetContext) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/geometry_utilities.rs:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | mut distance: f32, [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/main.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | let mut builder = SvgPathBuilder::new(Path::builder()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:530:18 [INFO] [stderr] | [INFO] [stderr] 530 | let (device, mut queue) = task::block_on(adapter.request_device(&wgpu::DeviceDescriptor { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:435:9 [INFO] [stderr] | [INFO] [stderr] 435 | let mut builder = SvgPathBuilder::new(Path::builder()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `point_at_distance_binary_search` [INFO] [stderr] --> src/geometry_utilities.rs:194:4 [INFO] [stderr] | [INFO] [stderr] 194 | fn point_at_distance_binary_search(c: &CubicBez, distance_from_start: f64, accuracy: f64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PathClearanceGrid` [INFO] [stderr] --> src/geometry_utilities.rs:830:8 [INFO] [stderr] | [INFO] [stderr] 830 | struct PathClearanceGrid<'a, U> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:530:18 [INFO] [stderr] | [INFO] [stderr] 530 | let (device, mut queue) = task::block_on(adapter.request_device(&wgpu::DeviceDescriptor { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry_utilities.rs:837:5 [INFO] [stderr] | [INFO] [stderr] 837 | fn new(clearance: f32, bounds: euclid::Rect) -> PathClearanceGrid<'a, U> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/geometry_utilities.rs:849:5 [INFO] [stderr] | [INFO] [stderr] 849 | fn add(point: ImmutablePathPoint<'a>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `primitive_ubo` [INFO] [stderr] --> src/main.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | primitive_ubo: Buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dummy` [INFO] [stderr] --> src/main.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | dummy: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/main.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `buffer` [INFO] [stderr] --> src/main.rs:1038:5 [INFO] [stderr] | [INFO] [stderr] 1038 | buffer: wgpu::Texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `PointerEvent` [INFO] [stderr] --> src/gui.rs:43:6 [INFO] [stderr] | [INFO] [stderr] 43 | enum PointerEvent { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `version` [INFO] [stderr] --> src/gui.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | version: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BrushVertexAttrs` [INFO] [stderr] --> src/brush_editor.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 41 | struct BrushVertexAttrs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BrushSubpathAttrs` [INFO] [stderr] --> src/brush_editor.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | struct BrushSubpathAttrs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClosestInSelection` [INFO] [stderr] --> src/path_editor.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | pub struct ClosestInSelection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ClosestItemInSelection` [INFO] [stderr] --> src/path_editor.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | pub enum ClosestItemInSelection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `move_limit` should have an upper case name [INFO] [stderr] --> src/geometry_utilities.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | const move_limit: f32 = 0.2; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `MOVE_LIMIT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 68 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: function is never used: `point_at_distance_binary_search` [INFO] [stderr] --> src/geometry_utilities.rs:194:4 [INFO] [stderr] | [INFO] [stderr] 194 | fn point_at_distance_binary_search(c: &CubicBez, distance_from_start: f64, accuracy: f64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PathClearanceGrid` [INFO] [stderr] --> src/geometry_utilities.rs:830:8 [INFO] [stderr] | [INFO] [stderr] 830 | struct PathClearanceGrid<'a, U> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/geometry_utilities.rs:837:5 [INFO] [stderr] | [INFO] [stderr] 837 | fn new(clearance: f32, bounds: euclid::Rect) -> PathClearanceGrid<'a, U> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/geometry_utilities.rs:849:5 [INFO] [stderr] | [INFO] [stderr] 849 | fn add(point: ImmutablePathPoint<'a>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `primitive_ubo` [INFO] [stderr] --> src/main.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | primitive_ubo: Buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dummy` [INFO] [stderr] --> src/main.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | dummy: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/main.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | fn update(&mut self, view: &CanvasView, device: &Device, encoder: &mut CommandEncoder) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `buffer` [INFO] [stderr] --> src/main.rs:1038:5 [INFO] [stderr] | [INFO] [stderr] 1038 | buffer: wgpu::Texture, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `PointerEvent` [INFO] [stderr] --> src/gui.rs:43:6 [INFO] [stderr] | [INFO] [stderr] 43 | enum PointerEvent { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `version` [INFO] [stderr] --> src/gui.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | version: u32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BrushVertexAttrs` [INFO] [stderr] --> src/brush_editor.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 41 | struct BrushVertexAttrs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BrushSubpathAttrs` [INFO] [stderr] --> src/brush_editor.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | struct BrushSubpathAttrs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClosestInSelection` [INFO] [stderr] --> src/path_editor.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | pub struct ClosestInSelection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ClosestItemInSelection` [INFO] [stderr] --> src/path_editor.rs:54:10 [INFO] [stderr] | [INFO] [stderr] 54 | pub enum ClosestItemInSelection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `move_limit` should have an upper case name [INFO] [stderr] --> src/geometry_utilities.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | const move_limit: f32 = 0.2; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `MOVE_LIMIT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 69 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `graphica::main` [INFO] [stderr] --> src/bin/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use graphica::main; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/main.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused import: `graphica::main` [INFO] [stderr] --> src/bin/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use graphica::main; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/bin/main.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `graphica::geometry_utilities::ParamCurvePointAtDistance` [INFO] [stderr] --> benches/my_benchmark.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use graphica::geometry_utilities::ParamCurvePointAtDistance; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `ParamCurvePointAtDistance` in `geometry_utilities` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> benches/my_benchmark.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `kurbo::ParamCurve` [INFO] [stderr] --> benches/my_benchmark.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use kurbo::ParamCurve; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `point_at_distance` found for reference `&kurbo::cubicbez::CubicBez` in the current scope [INFO] [stderr] --> benches/my_benchmark.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | let k = bez.point_at_distance(i as f64 * 1.0, 0.01); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `&kurbo::cubicbez::CubicBez` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0432`. [INFO] [stderr] error: could not compile `graphica`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "82e2290af9a293ecab909c8a8a94162cdaa5babc99fa4ec960ebd25439ab5c34"` [INFO] running `"docker" "rm" "-f" "82e2290af9a293ecab909c8a8a94162cdaa5babc99fa4ec960ebd25439ab5c34"` [INFO] [stdout] 82e2290af9a293ecab909c8a8a94162cdaa5babc99fa4ec960ebd25439ab5c34