[INFO] fetching crate dessin 0.8.16-pre...
[INFO] testing dessin-0.8.16-pre against 1.75.0 for beta-1.76-1
[INFO] extracting crate dessin 0.8.16-pre into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate dessin 0.8.16-pre on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate dessin 0.8.16-pre
[INFO] finished tweaking crates.io crate dessin 0.8.16-pre
[INFO] tweaked toml for crates.io crate dessin 0.8.16-pre written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nalgebra-macros v0.2.1
[INFO] [stderr]   Downloaded assert_float_eq v1.1.3
[INFO] [stderr]   Downloaded dessin-macros v0.8.16-pre
[INFO] [stderr]   Downloaded simba v0.8.1
[INFO] [stderr]   Downloaded nalgebra v0.32.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 67caec2b3e28d171f27c0c70f61dbbfbe6bc1ddf3ecb8dd276fb255f5e16072c
[INFO] running `Command { std: "docker" "start" "-a" "67caec2b3e28d171f27c0c70f61dbbfbe6bc1ddf3ecb8dd276fb255f5e16072c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67caec2b3e28d171f27c0c70f61dbbfbe6bc1ddf3ecb8dd276fb255f5e16072c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67caec2b3e28d171f27c0c70f61dbbfbe6bc1ddf3ecb8dd276fb255f5e16072c", kill_on_drop: false }`
[INFO] [stdout] 67caec2b3e28d171f27c0c70f61dbbfbe6bc1ddf3ecb8dd276fb255f5e16072c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b9c218822096e67808ec9eec234eb39bc1c04cdb43903e7e5b50c8ce451d5ad
[INFO] running `Command { std: "docker" "start" "-a" "7b9c218822096e67808ec9eec234eb39bc1c04cdb43903e7e5b50c8ce451d5ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.18
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling bytemuck v1.14.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling half v2.2.1
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling fdeflate v0.3.3
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling ttf-parser v0.15.2
[INFO] [stderr]    Compiling safe_arch v0.7.1
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling dessin-macros v0.8.16-pre
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling wide v0.7.13
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.17
[INFO] [stderr]    Compiling crossbeam-deque v0.8.4
[INFO] [stderr]    Compiling png v0.17.10
[INFO] [stderr]    Compiling fontdue v0.7.3
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling exr v1.71.0
[INFO] [stderr]    Compiling simba v0.8.1
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]    Compiling tiff v0.9.0
[INFO] [stderr]    Compiling image v0.24.7
[INFO] [stderr]    Compiling nalgebra v0.32.3
[INFO] [stderr]    Compiling dessin v0.8.16-pre (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/ellipse.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/image.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/shapes.rs:534:9
[INFO] [stdout]     |
[INFO] [stdout] 534 |         local_transform: Transform2<f32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout] 1   | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/shapes.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |         shaper: Arc<Shaper>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:540:5
[INFO] [stdout]     |
[INFO] [stdout] 540 |     pub fn get_or_mutate_as_group(&mut self) -> &mut Group {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:562:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | /     pub fn extend_metadata<K: ToString, V: ToString, E: IntoIterator<Item = (K, V)>>(
[INFO] [stdout] 563 | |         &mut self,
[INFO] [stdout] 564 | |         extend: E,
[INFO] [stdout] 565 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:572:5
[INFO] [stdout]     |
[INFO] [stdout] 572 |     pub fn add_metadata<K: ToString, V: ToString>(&mut self, (key, value): (K, V)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/shapes/curve.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CurvePosition {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub keypoints: Vec<KeypointPosition>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/curve.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Curve {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub keypoints: Vec<Keypoint>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn extend<T: IntoIterator<Item = Keypoint>>(&mut self, shapes: T) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn then<K: Into<Keypoint>>(&mut self, keypoint: K) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn with_then<K: Into<Keypoint>>(mut self, keypoint: K) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn close(&mut self, is_closed: bool) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn with_close(mut self, is_closed: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn closed(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn opened(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn reverse(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start_point(&self) -> Option<Point2<f32>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn reversed(&self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> CurvePosition {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/shapes/curve.rs:235:1
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub trait CurveOp {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn as_curve(&self) -> Curve;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/shapes/curve/keypoint.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum KeypointPosition {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Point(Point2<f32>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Bezier(Bezier),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Keypoint {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Point(Point2<f32>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Bezier(Bezier),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Curve(Curve),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn bounding_box(&self) -> BoundingBox<UnParticular> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Bezier {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub start: Option<Point2<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub start_control: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub end_control: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub end: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     pub fn new_with_start(
[INFO] [stdout] 64 | |         start: Point2<f32>,
[INFO] [stdout] 65 | |         start_control: Point2<f32>,
[INFO] [stdout] 66 | |         end_control: Point2<f32>,
[INFO] [stdout] 67 | |         end: Point2<f32>,
[INFO] [stdout] 68 | |     ) -> Self {
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(start_control: Point2<f32>, end_control: Point2<f32>, end: Point2<f32>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub fn new_relative_with_start(
[INFO] [stdout] 86 | |         start: Point2<f32>,
[INFO] [stdout] 87 | |         start_control: Vector2<f32>,
[INFO] [stdout] 88 | |         end_control: Vector2<f32>,
[INFO] [stdout] 89 | |         end: Point2<f32>,
[INFO] [stdout] 90 | |     ) -> Self {
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/shapes/curve/keypoint.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 98  | /     pub fn new_relative(
[INFO] [stdout] 99  | |         start: &Point2<f32>,
[INFO] [stdout] 100 | |         start_control: Vector2<f32>,
[INFO] [stdout] 101 | |         end_control: Vector2<f32>,
[INFO] [stdout] 102 | |         end: Point2<f32>,
[INFO] [stdout] 103 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve/keypoint.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/shapes/dynamic.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Shaper = dyn Fn() -> Shape;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> src/shapes/dynamic.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait DynamicShape: std::fmt::Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn as_shape(&self) -> Shape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/dynamic.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Dynamic<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn _ref(&mut self, _ref: &Arc<RwLock<T>>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn with_ref(mut self, _ref: &Arc<RwLock<T>>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/ellipse.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct EllipsePosition {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub center: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub semi_major_axis: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub semi_minor_axis: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/ellipse.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Ellipse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn axis<S: Into<Scale2<f32>>>(&mut self, scale: S) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn with_axis<S: Into<Scale2<f32>>>(mut self, scale: S) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn semi_major_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn with_semi_major_axis(mut self, value: f32) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn semi_minor_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn with_semi_minor_axis(mut self, value: f32) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> EllipsePosition {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/shapes/image.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ImagePosition<'a> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/shapes/image.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub top_left: Point2<f32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/shapes/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub top_right: Point2<f32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bottom_right: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bottom_left: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub center: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub width: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub height: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub image: &'a DynamicImage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/image.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Image {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub image: DynamicImage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn image_size_pixel(&self) -> (u32, u32) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn aspect_ratio(&self) -> f32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn image(&mut self, image: DynamicImage) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn with_image(mut self, image: DynamicImage) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn keep_aspect_ratio(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn with_keep_aspect_ratio(mut self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn position<'a>(&'a self, parent_transform: &Transform2<f32>) -> ImagePosition {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct TextPosition<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub text: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub font_weight: FontWeight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub on_curve: Option<CurvePosition>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub font_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub reference_start: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub direction: Unit<Vector2<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub font: &'a Option<FontRef>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Text {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub text: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub vertical_align: TextVerticalAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub font_weight: FontWeight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub on_curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub font_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub font: Option<FontRef>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text.rs:75:35
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Debug, Clone, PartialEq, Shape)]
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the derive macro `Shape` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn maybe_font<F: Into<FontRef>>(&mut self, font: Option<F>) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn with_maybe_font<F: Into<FontRef>>(mut self, font: Option<F>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> TextPosition {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get(idx: FontRef) -> FontGroup<Font> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn fonts() -> HashMap<String, FontGroup<Font>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn font_names() -> Vec<String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn add_font<S: Into<String>>(font_name: S, font: FontGroup<Font>) -> FontRef {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text/font.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct FontRef(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn name(&self, font_weight: FontWeight) -> String {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/shapes/text/font.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum Font {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/text/font.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     OTF(Vec<u8>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/text/font.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     TTF(Vec<u8>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn as_bytes(&self) -> &[u8] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text/font.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct FontGroup<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub regular: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub bold: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub italic: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub bold_italic: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn get(&self, font_weight: FontWeight) -> &Font {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/shapes/text/font.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn hyperlegible() -> FontGroup<Font> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/shapes/text/font.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct FontHolder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/style.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct StylePosition {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub stroke: Option<Stroke>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fill: Option<Fill>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/style.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Fill {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     Color(Color),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/style.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub enum Stroke {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     Full {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         width: f32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Dashed {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         width: f32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         on: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         off: f32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/style.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct Style<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub shape: T,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fill: Option<Fill>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub stroke: Option<Stroke>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/style.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new(shape: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn stroke<S: Into<Stroke>>(&mut self, stroke: S) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn with_stroke<S: Into<Stroke>>(mut self, stroke: S) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn fill<F: Into<Fill>>(&mut self, fill: F) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn with_fill<F: Into<Fill>>(mut self, fill: F) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 148 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 17.65s
[INFO] running `Command { std: "docker" "inspect" "7b9c218822096e67808ec9eec234eb39bc1c04cdb43903e7e5b50c8ce451d5ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b9c218822096e67808ec9eec234eb39bc1c04cdb43903e7e5b50c8ce451d5ad", kill_on_drop: false }`
[INFO] [stdout] 7b9c218822096e67808ec9eec234eb39bc1c04cdb43903e7e5b50c8ce451d5ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a9ef75afcbbb2c4de85a0a9e0ca0dff6c2b2c8078f8e00da9cfd18728c0d1e0
[INFO] running `Command { std: "docker" "start" "-a" "0a9ef75afcbbb2c4de85a0a9e0ca0dff6c2b2c8078f8e00da9cfd18728c0d1e0", kill_on_drop: false }`
[INFO] [stderr]    Compiling assert_float_eq v1.1.3
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/ellipse.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/image.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/shapes.rs:534:9
[INFO] [stdout]     |
[INFO] [stdout] 534 |         local_transform: Transform2<f32>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout] 1   | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/shapes.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |         shaper: Arc<Shaper>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:540:5
[INFO] [stdout]     |
[INFO] [stdout] 540 |     pub fn get_or_mutate_as_group(&mut self) -> &mut Group {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:562:5
[INFO] [stdout]     |
[INFO] [stdout] 562 | /     pub fn extend_metadata<K: ToString, V: ToString, E: IntoIterator<Item = (K, V)>>(
[INFO] [stdout] 563 | |         &mut self,
[INFO] [stdout] 564 | |         extend: E,
[INFO] [stdout] 565 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes.rs:572:5
[INFO] [stdout]     |
[INFO] [stdout] 572 |     pub fn add_metadata<K: ToString, V: ToString>(&mut self, (key, value): (K, V)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/shapes/curve.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CurvePosition {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub keypoints: Vec<KeypointPosition>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/curve.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Curve {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub keypoints: Vec<Keypoint>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn extend<T: IntoIterator<Item = Keypoint>>(&mut self, shapes: T) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn then<K: Into<Keypoint>>(&mut self, keypoint: K) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn with_then<K: Into<Keypoint>>(mut self, keypoint: K) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn close(&mut self, is_closed: bool) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn with_close(mut self, is_closed: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn closed(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn opened(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn reverse(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn start_point(&self) -> Option<Point2<f32>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn reversed(&self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> CurvePosition {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> src/shapes/curve.rs:235:1
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub trait CurveOp {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn as_curve(&self) -> Curve;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/shapes/curve/keypoint.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum KeypointPosition {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Point(Point2<f32>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Bezier(Bezier),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Keypoint {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Point(Point2<f32>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Bezier(Bezier),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Curve(Curve),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn bounding_box(&self) -> BoundingBox<UnParticular> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Bezier {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub start: Option<Point2<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub start_control: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub end_control: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub end: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     pub fn new_with_start(
[INFO] [stdout] 64 | |         start: Point2<f32>,
[INFO] [stdout] 65 | |         start_control: Point2<f32>,
[INFO] [stdout] 66 | |         end_control: Point2<f32>,
[INFO] [stdout] 67 | |         end: Point2<f32>,
[INFO] [stdout] 68 | |     ) -> Self {
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(start_control: Point2<f32>, end_control: Point2<f32>, end: Point2<f32>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/shapes/curve/keypoint.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub fn new_relative_with_start(
[INFO] [stdout] 86 | |         start: Point2<f32>,
[INFO] [stdout] 87 | |         start_control: Vector2<f32>,
[INFO] [stdout] 88 | |         end_control: Vector2<f32>,
[INFO] [stdout] 89 | |         end: Point2<f32>,
[INFO] [stdout] 90 | |     ) -> Self {
[INFO] [stdout]    | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/shapes/curve/keypoint.rs:98:5
[INFO] [stdout]     |
[INFO] [stdout] 98  | /     pub fn new_relative(
[INFO] [stdout] 99  | |         start: &Point2<f32>,
[INFO] [stdout] 100 | |         start_control: Vector2<f32>,
[INFO] [stdout] 101 | |         end_control: Vector2<f32>,
[INFO] [stdout] 102 | |         end: Point2<f32>,
[INFO] [stdout] 103 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/curve/keypoint.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/shapes/dynamic.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Shaper = dyn Fn() -> Shape;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> src/shapes/dynamic.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait DynamicShape: std::fmt::Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn as_shape(&self) -> Shape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/dynamic.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Dynamic<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn _ref(&mut self, _ref: &Arc<RwLock<T>>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/dynamic.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn with_ref(mut self, _ref: &Arc<RwLock<T>>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/ellipse.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct EllipsePosition {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub center: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub semi_major_axis: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub semi_minor_axis: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/ellipse.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Ellipse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/ellipse.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn axis<S: Into<Scale2<f32>>>(&mut self, scale: S) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn with_axis<S: Into<Scale2<f32>>>(mut self, scale: S) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn semi_major_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn with_semi_major_axis(mut self, value: f32) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn semi_minor_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn with_semi_minor_axis(mut self, value: f32) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/ellipse.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> EllipsePosition {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/shapes/image.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ImagePosition<'a> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/shapes/image.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub top_left: Point2<f32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/shapes/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub top_right: Point2<f32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bottom_right: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bottom_left: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub center: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub width: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub height: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub rotation: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub image: &'a DynamicImage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/image.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Image {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub image: DynamicImage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/image.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub local_transform: Transform2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn image_size_pixel(&self) -> (u32, u32) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn aspect_ratio(&self) -> f32 {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn image(&mut self, image: DynamicImage) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn with_image(mut self, image: DynamicImage) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn keep_aspect_ratio(&mut self) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn with_keep_aspect_ratio(mut self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/image.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn position<'a>(&'a self, parent_transform: &Transform2<f32>) -> ImagePosition {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct TextPosition<'a> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub text: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub font_weight: FontWeight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub on_curve: Option<CurvePosition>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub font_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub reference_start: Point2<f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub direction: Unit<Vector2<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub font: &'a Option<FontRef>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Text {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub text: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub vertical_align: TextVerticalAlign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub font_weight: FontWeight,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub on_curve: Option<Curve>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub font_size: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub font: Option<FontRef>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text.rs:75:35
[INFO] [stdout]    |
[INFO] [stdout] 75 | #[derive(Debug, Clone, PartialEq, Shape)]
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the derive macro `Shape` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn maybe_font<F: Into<FontRef>>(&mut self, font: Option<F>) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn with_maybe_font<F: Into<FontRef>>(mut self, font: Option<F>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/shapes/text.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> TextPosition {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get(idx: FontRef) -> FontGroup<Font> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn fonts() -> HashMap<String, FontGroup<Font>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn font_names() -> Vec<String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/shapes/text/font.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn add_font<S: Into<String>>(font_name: S, font: FontGroup<Font>) -> FontRef {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text/font.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct FontRef(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn name(&self, font_weight: FontWeight) -> String {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/shapes/text/font.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum Font {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/text/font.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     OTF(Vec<u8>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/shapes/text/font.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     TTF(Vec<u8>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn as_bytes(&self) -> &[u8] {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/shapes/text/font.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct FontGroup<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub regular: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub bold: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub italic: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/shapes/text/font.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub bold_italic: Option<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/shapes/text/font.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn get(&self, font_weight: FontWeight) -> &Font {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/shapes/text/font.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn hyperlegible() -> FontGroup<Font> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/shapes/text/font.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct FontHolder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/style.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct StylePosition {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub stroke: Option<Stroke>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fill: Option<Fill>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/style.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Fill {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     Color(Color),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/style.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub enum Stroke {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     Full {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         width: f32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/style.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     Dashed {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         width: f32,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         on: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         off: f32,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/style.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct Style<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub shape: T,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub fill: Option<Fill>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/style.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub stroke: Option<Stroke>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/style.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     pub fn new(shape: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub fn stroke<S: Into<Stroke>>(&mut self, stroke: S) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn with_stroke<S: Into<Stroke>>(mut self, stroke: S) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn fill<F: Into<Fill>>(&mut self, fill: F) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/style.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn with_fill<F: Into<Fill>>(mut self, fill: F) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 148 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dessin v0.8.16-pre (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/ellipse.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]  --> src/shapes/image.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stdout]   |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/contrib/circle.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut circle: Shape = Circle::default().with_radius(10.).into();
[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/contrib/circle.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut circle: Shape = Circle::default().with_radius(7.).into();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/shapes/dynamic.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |         fn start_style(&mut self, style: StylePosition) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/shapes/dynamic.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |         fn export_image(&mut self, image: ImagePosition) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curve`
[INFO] [stdout]    --> src/shapes/dynamic.rs:122:36
[INFO] [stdout]     |
[INFO] [stdout] 122 |         fn export_curve(&mut self, curve: CurvePosition) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_curve`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/shapes/dynamic.rs:126:35
[INFO] [stdout]     |
[INFO] [stdout] 126 |         fn export_text(&mut self, text: TextPosition) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.55s
[INFO] running `Command { std: "docker" "inspect" "0a9ef75afcbbb2c4de85a0a9e0ca0dff6c2b2c8078f8e00da9cfd18728c0d1e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a9ef75afcbbb2c4de85a0a9e0ca0dff6c2b2c8078f8e00da9cfd18728c0d1e0", kill_on_drop: false }`
[INFO] [stdout] 0a9ef75afcbbb2c4de85a0a9e0ca0dff6c2b2c8078f8e00da9cfd18728c0d1e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 418d9d383976cd217e25ae74fbd187f4e9e908477152cfe4d594a9cb243d7206
[INFO] running `Command { std: "docker" "start" "-a" "418d9d383976cd217e25ae74fbd187f4e9e908477152cfe4d594a9cb243d7206", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Unit`
[INFO] [stderr]  --> src/shapes/ellipse.rs:5:44
[INFO] [stderr]   |
[INFO] [stderr] 5 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stderr]   |                                            ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Unit`
[INFO] [stderr]  --> src/shapes/image.rs:4:44
[INFO] [stderr]   |
[INFO] [stderr] 4 | use nalgebra::{Point2, Scale2, Transform2, Unit, Vector2};
[INFO] [stderr]   |                                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/shapes.rs:534:9
[INFO] [stderr]     |
[INFO] [stderr] 534 |         local_transform: Transform2<f32>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:1:9
[INFO] [stderr]     |
[INFO] [stderr] 1   | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/shapes.rs:535:9
[INFO] [stderr]     |
[INFO] [stderr] 535 |         shaper: Arc<Shaper>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes.rs:540:5
[INFO] [stderr]     |
[INFO] [stderr] 540 |     pub fn get_or_mutate_as_group(&mut self) -> &mut Group {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes.rs:562:5
[INFO] [stderr]     |
[INFO] [stderr] 562 | /     pub fn extend_metadata<K: ToString, V: ToString, E: IntoIterator<Item = (K, V)>>(
[INFO] [stderr] 563 | |         &mut self,
[INFO] [stderr] 564 | |         extend: E,
[INFO] [stderr] 565 | |     ) {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes.rs:572:5
[INFO] [stderr]     |
[INFO] [stderr] 572 |     pub fn add_metadata<K: ToString, V: ToString>(&mut self, (key, value): (K, V)) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/shapes/curve.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct CurvePosition {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub keypoints: Vec<KeypointPosition>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub closed: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/curve.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Curve {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub local_transform: Transform2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub keypoints: Vec<Keypoint>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub closed: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn extend<T: IntoIterator<Item = Keypoint>>(&mut self, shapes: T) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn then<K: Into<Keypoint>>(&mut self, keypoint: K) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn with_then<K: Into<Keypoint>>(mut self, keypoint: K) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn close(&mut self, is_closed: bool) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn with_close(mut self, is_closed: bool) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn closed(&mut self) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn opened(&mut self) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn reverse(&mut self) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn start_point(&self) -> Option<Point2<f32>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub fn reversed(&self) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/curve.rs:166:5
[INFO] [stderr]     |
[INFO] [stderr] 166 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> CurvePosition {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a trait
[INFO] [stderr]    --> src/shapes/curve.rs:235:1
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub trait CurveOp {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/curve.rs:236:5
[INFO] [stderr]     |
[INFO] [stderr] 236 |     fn as_curve(&self) -> Curve;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]  --> src/shapes/curve/keypoint.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum KeypointPosition {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Point(Point2<f32>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Bezier(Bezier),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum Keypoint {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Point(Point2<f32>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     Bezier(Bezier),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Curve(Curve),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub fn bounding_box(&self) -> BoundingBox<UnParticular> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:55:1
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct Bezier {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub start: Option<Point2<f32>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub start_control: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub end_control: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub end: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 | /     pub fn new_with_start(
[INFO] [stderr] 64 | |         start: Point2<f32>,
[INFO] [stderr] 65 | |         start_control: Point2<f32>,
[INFO] [stderr] 66 | |         end_control: Point2<f32>,
[INFO] [stderr] 67 | |         end: Point2<f32>,
[INFO] [stderr] 68 | |     ) -> Self {
[INFO] [stderr]    | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub fn new(start_control: Point2<f32>, end_control: Point2<f32>, end: Point2<f32>) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/shapes/curve/keypoint.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | /     pub fn new_relative_with_start(
[INFO] [stderr] 86 | |         start: Point2<f32>,
[INFO] [stderr] 87 | |         start_control: Vector2<f32>,
[INFO] [stderr] 88 | |         end_control: Vector2<f32>,
[INFO] [stderr] 89 | |         end: Point2<f32>,
[INFO] [stderr] 90 | |     ) -> Self {
[INFO] [stderr]    | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/shapes/curve/keypoint.rs:98:5
[INFO] [stderr]     |
[INFO] [stderr] 98  | /     pub fn new_relative(
[INFO] [stderr] 99  | |         start: &Point2<f32>,
[INFO] [stderr] 100 | |         start_control: Vector2<f32>,
[INFO] [stderr] 101 | |         end_control: Vector2<f32>,
[INFO] [stderr] 102 | |         end: Point2<f32>,
[INFO] [stderr] 103 | |     ) -> Self {
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/curve/keypoint.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub fn transform(&self, parent_transform: &Transform2<f32>) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]  --> src/shapes/dynamic.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub type Shaper = dyn Fn() -> Shape;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a trait
[INFO] [stderr]   --> src/shapes/dynamic.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait DynamicShape: std::fmt::Debug {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/dynamic.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn as_shape(&self) -> Shape;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/dynamic.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Dynamic<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/dynamic.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn _ref(&mut self, _ref: &Arc<RwLock<T>>) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/dynamic.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn with_ref(mut self, _ref: &Arc<RwLock<T>>) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/ellipse.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct EllipsePosition {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/ellipse.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub center: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/ellipse.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub semi_major_axis: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/ellipse.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub semi_minor_axis: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/ellipse.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub rotation: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/ellipse.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct Ellipse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/ellipse.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub local_transform: Transform2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub fn axis<S: Into<Scale2<f32>>>(&mut self, scale: S) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn with_axis<S: Into<Scale2<f32>>>(mut self, scale: S) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn semi_major_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn with_semi_major_axis(mut self, value: f32) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn semi_minor_axis(&mut self, value: f32) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     pub fn with_semi_minor_axis(mut self, value: f32) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/ellipse.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> EllipsePosition {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/shapes/image.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct ImagePosition<'a> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]  --> src/shapes/image.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub top_left: Point2<f32>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]  --> src/shapes/image.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub top_right: Point2<f32>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub bottom_right: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub bottom_left: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub center: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub width: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub height: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub rotation: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub image: &'a DynamicImage,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/image.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Image {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub image: DynamicImage,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/image.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub local_transform: Transform2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub fn image_size_pixel(&self) -> (u32, u32) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn aspect_ratio(&self) -> f32 {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub fn image(&mut self, image: DynamicImage) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn with_image(mut self, image: DynamicImage) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn keep_aspect_ratio(&mut self) -> &mut Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn with_keep_aspect_ratio(mut self) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/image.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn position<'a>(&'a self, parent_transform: &Transform2<f32>) -> ImagePosition {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/text.rs:64:1
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct TextPosition<'a> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub text: &'a str,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub align: TextAlign,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub font_weight: FontWeight,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     pub on_curve: Option<CurvePosition>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub font_size: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub reference_start: Point2<f32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub direction: Unit<Vector2<f32>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub font: &'a Option<FontRef>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/text.rs:76:1
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct Text {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 82 |     pub text: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub align: TextAlign,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub vertical_align: TextVerticalAlign,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub font_weight: FontWeight,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub on_curve: Option<Curve>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub font_size: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub font: Option<FontRef>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/text.rs:75:35
[INFO] [stderr]    |
[INFO] [stderr] 75 | #[derive(Debug, Clone, PartialEq, Shape)]
[INFO] [stderr]    |                                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the derive macro `Shape` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/text.rs:114:5
[INFO] [stderr]     |
[INFO] [stderr] 114 |     pub fn maybe_font<F: Into<FontRef>>(&mut self, font: Option<F>) -> &mut Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/text.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 119 |     pub fn with_maybe_font<F: Into<FontRef>>(mut self, font: Option<F>) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/shapes/text.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn position(&self, parent_transform: &Transform2<f32>) -> TextPosition {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/shapes/text/font.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub fn get(idx: FontRef) -> FontGroup<Font> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/shapes/text/font.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn fonts() -> HashMap<String, FontGroup<Font>> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/shapes/text/font.rs:35:1
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub fn font_names() -> Vec<String> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/shapes/text/font.rs:40:1
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn add_font<S: Into<String>>(font_name: S, font: FontGroup<Font>) -> FontRef {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/text/font.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct FontRef(String);
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/text/font.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub fn name(&self, font_weight: FontWeight) -> String {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/shapes/text/font.rs:74:1
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub enum Font {
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/text/font.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     OTF(Vec<u8>),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/shapes/text/font.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     TTF(Vec<u8>),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/text/font.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn as_bytes(&self) -> &[u8] {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/shapes/text/font.rs:88:1
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub struct FontGroup<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text/font.rs:89:5
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub regular: T,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text/font.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub bold: Option<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text/font.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub italic: Option<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/shapes/text/font.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub bold_italic: Option<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/shapes/text/font.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub fn get(&self, font_weight: FontWeight) -> &Font {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/shapes/text/font.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub fn hyperlegible() -> FontGroup<Font> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/shapes/text/font.rs:132:1
[INFO] [stderr]     |
[INFO] [stderr] 132 | pub struct FontHolder {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/style.rs:177:1
[INFO] [stderr]     |
[INFO] [stderr] 177 | pub struct StylePosition {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:178:5
[INFO] [stderr]     |
[INFO] [stderr] 178 |     pub stroke: Option<Stroke>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 179 |     pub fill: Option<Fill>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/style.rs:183:1
[INFO] [stderr]     |
[INFO] [stderr] 183 | pub enum Fill {
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/style.rs:184:5
[INFO] [stderr]     |
[INFO] [stderr] 184 |     Color(Color),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/style.rs:194:1
[INFO] [stderr]     |
[INFO] [stderr] 194 | pub enum Stroke {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/style.rs:195:5
[INFO] [stderr]     |
[INFO] [stderr] 195 |     Full {
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:196:9
[INFO] [stderr]     |
[INFO] [stderr] 196 |         color: Color,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 197 |         width: f32,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/style.rs:199:5
[INFO] [stderr]     |
[INFO] [stderr] 199 |     Dashed {
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |         color: Color,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |         width: f32,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:202:9
[INFO] [stderr]     |
[INFO] [stderr] 202 |         on: f32,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:203:9
[INFO] [stderr]     |
[INFO] [stderr] 203 |         off: f32,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/style.rs:241:1
[INFO] [stderr]     |
[INFO] [stderr] 241 | pub struct Style<T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:242:5
[INFO] [stderr]     |
[INFO] [stderr] 242 |     pub shape: T,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:243:5
[INFO] [stderr]     |
[INFO] [stderr] 243 |     pub fill: Option<Fill>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/style.rs:244:5
[INFO] [stderr]     |
[INFO] [stderr] 244 |     pub stroke: Option<Stroke>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/style.rs:248:5
[INFO] [stderr]     |
[INFO] [stderr] 248 |     pub fn new(shape: T) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/style.rs:257:5
[INFO] [stderr]     |
[INFO] [stderr] 257 |     pub fn stroke<S: Into<Stroke>>(&mut self, stroke: S) -> &mut Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/style.rs:262:5
[INFO] [stderr]     |
[INFO] [stderr] 262 |     pub fn with_stroke<S: Into<Stroke>>(mut self, stroke: S) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/style.rs:268:5
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn fill<F: Into<Fill>>(&mut self, fill: F) -> &mut Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/style.rs:273:5
[INFO] [stderr]     |
[INFO] [stderr] 273 |     pub fn with_fill<F: Into<Fill>>(mut self, fill: F) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/contrib/circle.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut circle: Shape = Circle::default().with_radius(10.).into();
[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/contrib/circle.rs:119:9
[INFO] [stderr]     |
[INFO] [stderr] 119 |     let mut circle: Shape = Circle::default().with_radius(7.).into();
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `style`
[INFO] [stderr]    --> src/shapes/dynamic.rs:103:35
[INFO] [stderr]     |
[INFO] [stderr] 103 |         fn start_style(&mut self, style: StylePosition) -> Result<(), Self::Error> {
[INFO] [stderr]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `image`
[INFO] [stderr]    --> src/shapes/dynamic.rs:111:36
[INFO] [stderr]     |
[INFO] [stderr] 111 |         fn export_image(&mut self, image: ImagePosition) -> Result<(), Self::Error> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `curve`
[INFO] [stderr]    --> src/shapes/dynamic.rs:122:36
[INFO] [stderr]     |
[INFO] [stderr] 122 |         fn export_curve(&mut self, curve: CurvePosition) -> Result<(), Self::Error> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_curve`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]    --> src/shapes/dynamic.rs:126:35
[INFO] [stderr]     |
[INFO] [stderr] 126 |         fn export_text(&mut self, text: TextPosition) -> Result<(), Self::Error> {
[INFO] [stderr]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr] 
[INFO] [stderr] warning: `dessin` (lib) generated 148 warnings (run `cargo fix --lib -p dessin` to apply 2 suggestions)
[INFO] [stderr] warning: `dessin` (lib test) generated 8 warnings (2 duplicates) (run `cargo fix --lib -p dessin --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dessin-7275c198b0eff585)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test contrib::polygone::triangle ... ok
[INFO] [stdout] test contrib::polygone::square ... ok
[INFO] [stdout] test contrib::layout::tests::base_layout ... ok
[INFO] [stdout] test contrib::rectangle::tests::parent_rotate_text_scale ... ok
[INFO] [stdout] test contrib::layout::tests::layout_of_polygons ... ok
[INFO] [stdout] test contrib::rectangle::tests::similar_op ... ok
[INFO] [stdout] test contrib::polygone::triangle_in_group ... ok
[INFO] [stdout] test contrib::circle::bounding_box_7 ... ok
[INFO] [stdout] test contrib::polygone::bounding_box ... ok
[INFO] [stdout] test contrib::layout::tests::transformed_layout ... ok
[INFO] [stdout] test contrib::anchor::tests::translate ... ok
[INFO] [stdout] test contrib::circle::bounding_box ... ok
[INFO] [stdout] test contrib::anchor::tests::anchor ... ok
[INFO] [stdout] test shapes::curve::keypoint::tests::translate ... ok
[INFO] [stdout] test shapes::dynamic::dynamic ... ok
[INFO] [stdout] test shapes::image::tests::bounding_box ... ok
[INFO] [stdout] test contrib::anchor::tests::base ... ok
[INFO] [stdout] test shapes::tests::parent_rotate_child_scale ... ok
[INFO] [stdout] test tests::group_bounding_box ... ok
[INFO] [stdout] test shapes::image::tests::base ... ok
[INFO] [stdout] test tests::erased_type ... ok
[INFO] [stdout] test shapes::text::tests::rotate_group ... ok
[INFO] [stdout] test contrib::layout::tests::two_distinct_elements ... ok
[INFO] [stdout] test contrib::layout::tests::two_elements_vec_with_gap ... ok
[INFO] [stdout] test contrib::layout::tests::two_distinct_elements_with_gap ... ok
[INFO] [stdout] test shapes::image::tests::global_transform ... FAILED
[INFO] [stdout] test shapes::image::tests::local_transform ... FAILED
[INFO] [stdout] test shapes::image::tests::combined_transform ... FAILED
[INFO] [stdout] test contrib::textbox::one_line ... ok
[INFO] [stdout] test contrib::layout::tests::one_element ... ok
[INFO] [stdout] test contrib::textbox::two_lines ... ok
[INFO] [stdout] test contrib::layout::tests::layout_of_textbox ... ok
[INFO] [stdout] test contrib::textbox::should_break ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- shapes::image::tests::global_transform stdout ----
[INFO] [stdout] thread 'shapes::image::tests::global_transform' panicked at src/shapes/image.rs:205:9:
[INFO] [stdout] left = -0.7853982, right = -0.7853982
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x557af256ab3c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x557af256ab3c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x557af256ab3c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x557af256ab3c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x557af2595340 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x557af2595340 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x557af25684ef - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x557af256a924 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x557af256a924 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x557af256c5e7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x557af256c2d3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x557af24edee7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x557af24edee7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x557af256cbf8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x557af256cbf8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x557af256c94e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x557af256b006 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x557af256c6b2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x557af2417145 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x557af2469e66 - dessin::shapes::image::tests::global_transform::had8cd5ab0e3bb0f2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:205:9
[INFO] [stdout]   20:     0x557af2469b87 - dessin::shapes::image::tests::global_transform::{{closure}}::h6d92b98792bfcb17
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:200:26
[INFO] [stdout]   21:     0x557af244f4c6 - core::ops::function::FnOnce::call_once::h68e1b57bba267590
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x557af24f353f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x557af24f353f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   24:     0x557af24f2555 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   25:     0x557af24f2555 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   26:     0x557af24f2555 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   27:     0x557af24f2555 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   28:     0x557af24f2555 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   29:     0x557af24f2555 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   30:     0x557af24f2555 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   31:     0x557af24ba816 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   32:     0x557af24ba816 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   33:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   34:     0x557af24bf8c7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   35:     0x557af24bf8c7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   36:     0x557af24bf8c7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   37:     0x557af24bf8c7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   38:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   39:     0x557af24bf8c7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   41:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x557af2571685 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   43:     0x7effbc2f9ac3 - <unknown>
[INFO] [stdout]   44:     0x7effbc38abf4 - __clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- shapes::image::tests::local_transform stdout ----
[INFO] [stdout] thread 'shapes::image::tests::local_transform' panicked at src/shapes/image.rs:179:9:
[INFO] [stdout] left = -0.7853982, right = -0.7853982
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x557af256ab3c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x557af256ab3c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x557af256ab3c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x557af256ab3c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x557af2595340 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x557af2595340 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x557af25684ef - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x557af256a924 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x557af256a924 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x557af256c5e7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x557af256c2d3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x557af24edee7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x557af24edee7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x557af256cbf8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x557af256cbf8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x557af256c94e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x557af256b006 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x557af256c6b2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x557af2417145 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x557af2469806 - dessin::shapes::image::tests::local_transform::h680e5a46b2e62e2c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:179:9
[INFO] [stdout]   20:     0x557af24694b7 - dessin::shapes::image::tests::local_transform::{{closure}}::h4562657c74c91919
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:174:25
[INFO] [stdout]   21:     0x557af244fc16 - core::ops::function::FnOnce::call_once::hf629acc258a6e90e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x557af24f353f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x557af24f353f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   24:     0x557af24f2555 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   25:     0x557af24f2555 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   26:     0x557af24f2555 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   27:     0x557af24f2555 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   28:     0x557af24f2555 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   29:     0x557af24f2555 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   30:     0x557af24f2555 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   31:     0x557af24ba816 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   32:     0x557af24ba816 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   33:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   34:     0x557af24bf8c7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   35:     0x557af24bf8c7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   36:     0x557af24bf8c7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   37:     0x557af24bf8c7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   38:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   39:     0x557af24bf8c7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   41:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x557af2571685 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   43:     0x7effbc2f9ac3 - <unknown>
[INFO] [stdout]   44:     0x7effbc38abf4 - __clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- shapes::image::tests::combined_transform stdout ----
[INFO] [stdout] Base = ImagePosition { top_left: [-0.5, 0.5], top_right: [0.5, 0.5], bottom_right: [0.5, -0.5], bottom_left: [-0.5, -0.5], center: [0.0, 0.0], width: 1.0, height: 1.0, rotation: 0.0, image: ImageRgba8(ImageBuffer { width: 0, height: 0, _phantom: PhantomData<image::color::Rgba<u8>>, data: [] }) }
[INFO] [stdout] 
[INFO] [stdout] Rot(-45deg) = ImagePosition { top_left: [0.0, 0.70710677], top_right: [0.70710677, 0.0], bottom_right: [0.0, -0.70710677], bottom_left: [-0.70710677, 0.0], center: [0.0, 0.0], width: 0.99999994, height: 0.99999994, rotation: -0.7853982, image: ImageRgba8(ImageBuffer { width: 0, height: 0, _phantom: PhantomData<image::color::Rgba<u8>>, data: [] }) }
[INFO] [stdout] 
[INFO] [stdout] thread 'shapes::image::tests::combined_transform' panicked at src/shapes/image.rs:249:9:
[INFO] [stdout] left = -0.7853982, right = -0.7853982
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x557af256ab3c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x557af256ab3c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x557af256ab3c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x557af256ab3c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x557af2595340 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x557af2595340 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x557af25684ef - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x557af256a924 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x557af256a924 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x557af256c5e7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x557af256c2d3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x557af24edee7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x557af24edee7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x557af256cbf8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x557af256cbf8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x557af256c94e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x557af256b006 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x557af256c6b2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x557af2417145 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x557af246a9ff - dessin::shapes::image::tests::combined_transform::ha085cb1dde9c18de
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:249:9
[INFO] [stdout]   20:     0x557af246a1e7 - dessin::shapes::image::tests::combined_transform::{{closure}}::hac46d9e8c2f74edb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shapes/image.rs:226:28
[INFO] [stdout]   21:     0x557af244f936 - core::ops::function::FnOnce::call_once::hb8e4b50595ce7bbf
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x557af24f353f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x557af24f353f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   24:     0x557af24f2555 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   25:     0x557af24f2555 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   26:     0x557af24f2555 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   27:     0x557af24f2555 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   28:     0x557af24f2555 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   29:     0x557af24f2555 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   30:     0x557af24f2555 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   31:     0x557af24ba816 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   32:     0x557af24ba816 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   33:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   34:     0x557af24bf8c7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   35:     0x557af24bf8c7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   36:     0x557af24bf8c7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   37:     0x557af24bf8c7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   38:     0x557af24bf8c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   39:     0x557af24bf8c7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   41:     0x557af2571685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x557af2571685 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   43:     0x7effbc2f9ac3 - <unknown>
[INFO] [stdout]   44:     0x7effbc38abf4 - __clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     shapes::image::tests::combined_transform
[INFO] [stdout]     shapes::image::tests::global_transform
[INFO] [stdout]     shapes::image::tests::local_transform
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 30 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "418d9d383976cd217e25ae74fbd187f4e9e908477152cfe4d594a9cb243d7206", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "418d9d383976cd217e25ae74fbd187f4e9e908477152cfe4d594a9cb243d7206", kill_on_drop: false }`
[INFO] [stdout] 418d9d383976cd217e25ae74fbd187f4e9e908477152cfe4d594a9cb243d7206
