[INFO] fetching crate shape-core 0.1.17...
[INFO] testing shape-core-0.1.17 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate shape-core 0.1.17 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate shape-core 0.1.17
[INFO] finished tweaking crates.io crate shape-core 0.1.17
[INFO] tweaked toml for crates.io crate shape-core 0.1.17 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate shape-core 0.1.17 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 26 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.12.1 (available: v0.14.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df0161679b57512be4297f3a4e1950f907589e325f2ac2459f223e24099201ac
[INFO] running `Command { std: "docker" "start" "-a" "df0161679b57512be4297f3a4e1950f907589e325f2ac2459f223e24099201ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df0161679b57512be4297f3a4e1950f907589e325f2ac2459f223e24099201ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df0161679b57512be4297f3a4e1950f907589e325f2ac2459f223e24099201ac", kill_on_drop: false }`
[INFO] [stdout] df0161679b57512be4297f3a4e1950f907589e325f2ac2459f223e24099201ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 74ad8dabc1bbc8aaf462895680c5d5e5234562f08d72ded1b5338e5c89078c9c
[INFO] running `Command { std: "docker" "start" "-a" "74ad8dabc1bbc8aaf462895680c5d5e5234562f08d72ded1b5338e5c89078c9c", kill_on_drop: false }`
[INFO] [stderr]    Compiling color-core v0.1.6
[INFO] [stderr]    Compiling distantia v0.0.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling projective v0.3.0
[INFO] [stderr]    Compiling shape-core v0.1.17 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `macros::*`
[INFO] [stdout]   --> src/lib.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use crate::{elements::*, macros::*, traits::*};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _ => unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:74:33
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn euclidean_squared(&self, rhs: &Triangle<T>) -> T {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolygonIndex` is never constructed
[INFO] [stdout]   --> src/elements/polygons/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PolygonIndex {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rotate: (T, T, T),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Ellipsoid<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn sample_polygon(&self, n: usize) -> Polygon<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn sample_polyline(&self, n: usize) -> Polyline<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn sample_x(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn sample_y(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn as_vector(&self) -> Vector<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | /     pub fn from_2_points<P>(start: P, end: P) -> Self
[INFO] [stdout] 63 | |         where
[INFO] [stdout] 64 | |             Point<T>: From<P>,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Vector3D<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub dx: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub dy: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub dz: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn quantile_point(&self, p: usize, q: usize) -> Point3D<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Point4D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn ref_inner(&self) -> Point<&T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | /     pub fn norm(&self) -> T
[INFO] [stdout] 28 | |     where
[INFO] [stdout] 29 | |         T: Float,
[INFO] [stdout]    | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PointSet<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub points: Vec<Point<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Point3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RegularPolygon<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub sides: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub center: Point<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub rotate: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Polyline<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub points: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/dim3.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new(points: &[Point3D<T>]) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         T: Clone,
[INFO] [stdout]   | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/dim3.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn edges(&self) -> impl Iterator<Item = Line3D<&T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_2d/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Polygon<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/normal_2d/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub points_set: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Polygon3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub vertex: Vec<Point3D<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/regular.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn unit(sides: usize) -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/polygons/regular.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | /     pub fn new<P>(sides: usize, center: P, radius: T, rotate: T) -> Self
[INFO] [stdout] 11 | |     where
[INFO] [stdout] 12 | |         Point<T>: From<P>,
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn height(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn perimeter(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn central_angle(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn side_length(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn area(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/rectangles/parallelogram.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new<P>(anchor: P, side: (P, P)) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         Point<T>: From<P>,
[INFO] [stdout]   | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn side_edges(&self) -> (Line<T>, Line<T>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/mod.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn contains(&self, point: &Point<T>) -> bool
[INFO] [stdout] 184 | |     where
[INFO] [stdout] 185 | |         T: Clone + PartialOrd,
[INFO] [stdout]     | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/constructors.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     pub fn from_origin(width: T, height: T) -> Self
[INFO] [stdout] 108 | |         where
[INFO] [stdout] 109 | |             T: Clone + Zero +One + Add<Output=T> + Sub<Output=T> + Div<Output=T>,
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/errors/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Result<T> = std::result::Result<T, ShapeErrorKind>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/errors/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ShapeError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/errors/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum ShapeErrorKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.89s
[INFO] running `Command { std: "docker" "inspect" "74ad8dabc1bbc8aaf462895680c5d5e5234562f08d72ded1b5338e5c89078c9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74ad8dabc1bbc8aaf462895680c5d5e5234562f08d72ded1b5338e5c89078c9c", kill_on_drop: false }`
[INFO] [stdout] 74ad8dabc1bbc8aaf462895680c5d5e5234562f08d72ded1b5338e5c89078c9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] fe5a67f6294bd363a5fc7d09e25e0886a4b95be39d8baf822f550cf41cee608f
[INFO] running `Command { std: "docker" "start" "-a" "fe5a67f6294bd363a5fc7d09e25e0886a4b95be39d8baf822f550cf41cee608f", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `macros::*`
[INFO] [stdout]   --> src/lib.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use crate::{elements::*, macros::*, traits::*};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _ => unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:74:33
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn euclidean_squared(&self, rhs: &Triangle<T>) -> T {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolygonIndex` is never constructed
[INFO] [stdout]   --> src/elements/polygons/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PolygonIndex {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rotate: (T, T, T),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Ellipsoid<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn sample_polygon(&self, n: usize) -> Polygon<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn sample_polyline(&self, n: usize) -> Polyline<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn sample_x(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn sample_y(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn as_vector(&self) -> Vector<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | /     pub fn from_2_points<P>(start: P, end: P) -> Self
[INFO] [stdout] 63 | |         where
[INFO] [stdout] 64 | |             Point<T>: From<P>,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Vector3D<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub dx: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub dy: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub dz: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn quantile_point(&self, p: usize, q: usize) -> Point3D<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Point4D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn ref_inner(&self) -> Point<&T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | /     pub fn norm(&self) -> T
[INFO] [stdout] 28 | |     where
[INFO] [stdout] 29 | |         T: Float,
[INFO] [stdout]    | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PointSet<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub points: Vec<Point<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Point3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RegularPolygon<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub sides: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub center: Point<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub rotate: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Polyline<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub points: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/dim3.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new(points: &[Point3D<T>]) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         T: Clone,
[INFO] [stdout]   | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/dim3.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn edges(&self) -> impl Iterator<Item = Line3D<&T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_2d/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Polygon<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/normal_2d/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub points_set: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Polygon3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub vertex: Vec<Point3D<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/regular.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn unit(sides: usize) -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/polygons/regular.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | /     pub fn new<P>(sides: usize, center: P, radius: T, rotate: T) -> Self
[INFO] [stdout] 11 | |     where
[INFO] [stdout] 12 | |         Point<T>: From<P>,
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn height(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn perimeter(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn central_angle(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn side_length(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn area(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/rectangles/parallelogram.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new<P>(anchor: P, side: (P, P)) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         Point<T>: From<P>,
[INFO] [stdout]   | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn side_edges(&self) -> (Line<T>, Line<T>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/mod.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn contains(&self, point: &Point<T>) -> bool
[INFO] [stdout] 184 | |     where
[INFO] [stdout] 185 | |         T: Clone + PartialOrd,
[INFO] [stdout]     | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/constructors.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     pub fn from_origin(width: T, height: T) -> Self
[INFO] [stdout] 108 | |         where
[INFO] [stdout] 109 | |             T: Clone + Zero +One + Add<Output=T> + Sub<Output=T> + Div<Output=T>,
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/errors/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Result<T> = std::result::Result<T, ShapeErrorKind>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/errors/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ShapeError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/errors/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum ShapeErrorKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling shape-core v0.1.17 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `macros::*`
[INFO] [stdout]   --> src/lib.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use crate::{elements::*, macros::*, traits::*};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _ => unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]   --> src/elements/points/point_2d/euclidean.rs:74:33
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn euclidean_squared(&self, rhs: &Triangle<T>) -> T {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PolygonIndex` is never constructed
[INFO] [stdout]   --> src/elements/polygons/mod.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PolygonIndex {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rotate: (T, T, T),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/ellipses/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Ellipsoid<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn sample_polygon(&self, n: usize) -> Polygon<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub fn sample_polyline(&self, n: usize) -> Polyline<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn sample_x(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/ellipses/ellipse.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn sample_y(&self, t: &T) -> T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn as_vector(&self) -> Vector<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/lines/line_2d/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | /     pub fn from_2_points<P>(start: P, end: P) -> Self
[INFO] [stdout] 63 | |         where
[INFO] [stdout] 64 | |             Point<T>: From<P>,
[INFO] [stdout]    | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Vector3D<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub dx: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub dy: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub dz: T,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/lines/line_3d/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn quantile_point(&self, p: usize, q: usize) -> Point3D<T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Point4D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn ref_inner(&self) -> Point<&T> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/points/point_2d/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | /     pub fn norm(&self) -> T
[INFO] [stdout] 28 | |     where
[INFO] [stdout] 29 | |         T: Float,
[INFO] [stdout]    | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PointSet<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/points/point_2d_set/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub points: Vec<Point<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/points/point_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Point3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RegularPolygon<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub sides: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub center: Point<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub radius: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub rotate: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/elements/polygons/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Polyline<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub points: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub closed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/dim3.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new(points: &[Point3D<T>]) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         T: Clone,
[INFO] [stdout]   | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/dim3.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn edges(&self) -> impl Iterator<Item = Line3D<&T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_2d/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Polygon<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/elements/polygons/normal_2d/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub points_set: PointSet<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Polygon3D<T> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/elements/polygons/normal_3d/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub vertex: Vec<Point3D<T>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/polygons/regular.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn unit(sides: usize) -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/elements/polygons/regular.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | /     pub fn new<P>(sides: usize, center: P, radius: T, rotate: T) -> Self
[INFO] [stdout] 11 | |     where
[INFO] [stdout] 12 | |         Point<T>: From<P>,
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn height(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn perimeter(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn central_angle(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn side_length(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/polygons/regular.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn area(&self) -> T {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/elements/rectangles/parallelogram.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | /     pub fn new<P>(anchor: P, side: (P, P)) -> Self
[INFO] [stdout] 5 | |     where
[INFO] [stdout] 6 | |         Point<T>: From<P>,
[INFO] [stdout]   | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/elements/rectangles/parallelogram.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn side_edges(&self) -> (Line<T>, Line<T>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/mod.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /     pub fn contains(&self, point: &Point<T>) -> bool
[INFO] [stdout] 184 | |     where
[INFO] [stdout] 185 | |         T: Clone + PartialOrd,
[INFO] [stdout]     | |______________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/elements/rectangles/rectangle_2d/constructors.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | /     pub fn from_origin(width: T, height: T) -> Self
[INFO] [stdout] 108 | |         where
[INFO] [stdout] 109 | |             T: Clone + Zero +One + Add<Output=T> + Sub<Output=T> + Div<Output=T>,
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]  --> src/errors/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Result<T> = std::result::Result<T, ShapeErrorKind>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/errors/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ShapeError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/errors/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum ShapeErrorKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.78s
[INFO] running `Command { std: "docker" "inspect" "fe5a67f6294bd363a5fc7d09e25e0886a4b95be39d8baf822f550cf41cee608f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe5a67f6294bd363a5fc7d09e25e0886a4b95be39d8baf822f550cf41cee608f", kill_on_drop: false }`
[INFO] [stdout] fe5a67f6294bd363a5fc7d09e25e0886a4b95be39d8baf822f550cf41cee608f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 1d1adab57ff5cf81cd2d1fffdb38d09f23e5eb21889d911c76481451da960fc2
[INFO] running `Command { std: "docker" "start" "-a" "1d1adab57ff5cf81cd2d1fffdb38d09f23e5eb21889d911c76481451da960fc2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `macros::*`
[INFO] [stderr]   --> src/lib.rs:11:30
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use crate::{elements::*, macros::*, traits::*};
[INFO] [stderr]    |                              ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/elements/points/point_2d/euclidean.rs:37:18
[INFO] [stderr]    |
[INFO] [stderr] 37 |             _ => unsafe {
[INFO] [stderr]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]   --> src/elements/points/point_2d/euclidean.rs:40:22
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stderr]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]   --> src/elements/points/point_2d/euclidean.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |                 let (lhs, rhs) = rhs.points.split_at(xs.len() / 2);
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]   --> src/elements/points/point_2d/euclidean.rs:74:33
[INFO] [stderr]    |
[INFO] [stderr] 74 |     fn euclidean_squared(&self, rhs: &Triangle<T>) -> T {
[INFO] [stderr]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PolygonIndex` is never constructed
[INFO] [stderr]   --> src/elements/polygons/mod.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct PolygonIndex {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/ellipses/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub radius: T,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:2:9
[INFO] [stderr]    |
[INFO] [stderr]  2 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/ellipses/mod.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub rotate: (T, T, T),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/elements/ellipses/mod.rs:64:1
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct Ellipsoid<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/elements/ellipses/ellipse.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn sample_polygon(&self, n: usize) -> Polygon<T> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/elements/ellipses/ellipse.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub fn sample_polyline(&self, n: usize) -> Polyline<T> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/elements/ellipses/ellipse.rs:148:5
[INFO] [stderr]     |
[INFO] [stderr] 148 |     pub fn sample_x(&self, t: &T) -> T {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/elements/ellipses/ellipse.rs:151:5
[INFO] [stderr]     |
[INFO] [stderr] 151 |     pub fn sample_y(&self, t: &T) -> T {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/lines/line_2d/mod.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn as_vector(&self) -> Vector<T> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/elements/lines/line_2d/mod.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | /     pub fn from_2_points<P>(start: P, end: P) -> Self
[INFO] [stderr] 63 | |         where
[INFO] [stderr] 64 | |             Point<T>: From<P>,
[INFO] [stderr]    | |______________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/elements/lines/line_3d/mod.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Vector3D<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/lines/line_3d/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub dx: T,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/lines/line_3d/mod.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub dy: T,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/lines/line_3d/mod.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub dz: T,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/lines/line_3d/mod.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn quantile_point(&self, p: usize, q: usize) -> Point3D<T> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/elements/points/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Point4D<T> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/points/point_2d/mod.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn ref_inner(&self) -> Point<&T> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/points/point_2d/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | /     pub fn norm(&self) -> T
[INFO] [stderr] 28 | |     where
[INFO] [stderr] 29 | |         T: Float,
[INFO] [stderr]    | |_________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/elements/points/point_2d_set/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct PointSet<T> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]  --> src/elements/points/point_2d_set/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub points: Vec<Point<T>>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/elements/points/point_3d/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Point3D<T> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/elements/polygons/mod.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct RegularPolygon<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub sides: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub center: Point<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub radius: T,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub rotate: T,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/elements/polygons/mod.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct Polyline<T> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub points: PointSet<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/mod.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub closed: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]  --> src/elements/polygons/dim3.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | /     pub fn new(points: &[Point3D<T>]) -> Self
[INFO] [stderr] 5 | |     where
[INFO] [stderr] 6 | |         T: Clone,
[INFO] [stderr]   | |_________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/dim3.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn edges(&self) -> impl Iterator<Item = Line3D<&T>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/elements/polygons/normal_2d/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Polygon<T> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/elements/polygons/normal_2d/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub points_set: PointSet<T>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/elements/polygons/normal_3d/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Polygon3D<T> {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]  --> src/elements/polygons/normal_3d/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub vertex: Vec<Point3D<T>>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]  --> src/elements/polygons/regular.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn unit(sides: usize) -> Self {
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/elements/polygons/regular.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | /     pub fn new<P>(sides: usize, center: P, radius: T, rotate: T) -> Self
[INFO] [stderr] 11 | |     where
[INFO] [stderr] 12 | |         Point<T>: From<P>,
[INFO] [stderr]    | |__________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn height(&self) -> T {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn perimeter(&self) -> T {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn central_angle(&self) -> T {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn side_length(&self) -> T {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/polygons/regular.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub fn area(&self) -> T {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]  --> src/elements/rectangles/parallelogram.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | /     pub fn new<P>(anchor: P, side: (P, P)) -> Self
[INFO] [stderr] 5 | |     where
[INFO] [stderr] 6 | |         Point<T>: From<P>,
[INFO] [stderr]   | |__________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/rectangles/parallelogram.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub fn vertexes(&self) -> Vec<Point<T>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/elements/rectangles/parallelogram.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn side_edges(&self) -> (Line<T>, Line<T>) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/elements/rectangles/rectangle_2d/mod.rs:183:5
[INFO] [stderr]     |
[INFO] [stderr] 183 | /     pub fn contains(&self, point: &Point<T>) -> bool
[INFO] [stderr] 184 | |     where
[INFO] [stderr] 185 | |         T: Clone + PartialOrd,
[INFO] [stderr]     | |______________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/elements/rectangles/rectangle_2d/constructors.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 107 | /     pub fn from_origin(width: T, height: T) -> Self
[INFO] [stderr] 108 | |         where
[INFO] [stderr] 109 | |             T: Clone + Zero +One + Add<Output=T> + Sub<Output=T> + Div<Output=T>,
[INFO] [stderr]     | |_________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]  --> src/errors/mod.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub type Result<T> = std::result::Result<T, ShapeErrorKind>;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/errors/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct ShapeError {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/errors/mod.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum ShapeErrorKind {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shape-core` (lib) generated 56 warnings (run `cargo fix --lib -p shape-core` to apply 4 suggestions)
[INFO] [stderr] warning: `shape-core` (lib test) generated 56 warnings (56 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/shape-core/7fe853b2c64a19b7/deps/shape_core-7fe853b2c64a19b7)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test elements::points::point_2d::euclidean::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/build/shape-core/0132028d43123aa2/deps/main-0132028d43123aa2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test ready ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests shape_core
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::from_anchor (line 70) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::boundary (line 68) ... ignored
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::from_min_max (line 125) ... ok
[INFO] [stdout] test src/elements/rectangles/mod.rs - elements::rectangles::Parallelogram (line 17) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::from_center (line 91) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle (line 14) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::empty (line 29) ... FAILED
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::new (line 51) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::area (line 206) ... ok
[INFO] [stdout] test src/elements/rectangles/square_2d/constructors.rs - elements::rectangles::square_2d::constructors::Square<T>::from_anchor (line 46) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_3d/mod.rs - elements::rectangles::rectangle_3d::Cuboid (line 11) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::is_valid (line 45) ... ok
[INFO] [stdout] test src/elements/rectangles/square_2d/constructors.rs - elements::rectangles::square_2d::constructors::Square<T>::new (line 31) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::origin (line 153) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::height (line 138) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::center (line 168) ... ok
[INFO] [stdout] test src/elements/rectangles/rectangle_2d/mod.rs - elements::rectangles::rectangle_2d::Rectangle<T>::width (line 122) ... ok
[INFO] [stdout] test src/elements/rectangles/square_2d/constructors.rs - elements::rectangles::square_2d::constructors::Square<T>::from_center (line 65) ... ok
[INFO] [stdout] test src/elements/triangles/mod.rs - elements::triangles::Triangle (line 19) ... ok
[INFO] [stdout] test src/traits/mod.rs - traits::Shape2D (line 23) ... ok
[INFO] [stdout] test src/elements/rectangles/square_2d/mod.rs - elements::rectangles::square_2d::Square (line 14) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::empty (line 29) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Rectangle<_>`
[INFO] [stdout]   --> src/elements/rectangles/rectangle_2d/constructors.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | let rect = Rectangle::empty();
[INFO] [stdout]    |     ^^^^   ------------------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `_: shape_core::Zero`
[INFO] [stdout]    = help: the following types implement trait `shape_core::Zero`:
[INFO] [stdout]              Wrapping<T>
[INFO] [stdout]              f32
[INFO] [stdout]              f64
[INFO] [stdout]              i128
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]            and 7 others
[INFO] [stdout] note: required by a bound in `shape_core::elements::rectangles::rectangle_2d::constructors::<impl Rectangle<T>>::empty`
[INFO] [stdout]   --> src/elements/rectangles/rectangle_2d/constructors.rs:35:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn empty() -> Self
[INFO] [stdout]    |            ----- required by a bound in this associated function
[INFO] [stdout] 34 |         where
[INFO] [stdout] 35 |             T: Zero,
[INFO] [stdout]    |                ^^^^ required by this bound in `shape_core::elements::rectangles::rectangle_2d::constructors::<impl Rectangle<T>>::empty`
[INFO] [stdout] help: consider giving `rect` an explicit type, where the type for type parameter `T` is specified
[INFO] [stdout]    |
[INFO] [stdout] 32 | let rect: Rectangle<T> = Rectangle::empty();
[INFO] [stdout]    |         ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/elements/rectangles/rectangle_2d/constructors.rs - elements::rectangles::rectangle_2d::constructors::Rectangle<T>::empty (line 29)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 19 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.70s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "1d1adab57ff5cf81cd2d1fffdb38d09f23e5eb21889d911c76481451da960fc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d1adab57ff5cf81cd2d1fffdb38d09f23e5eb21889d911c76481451da960fc2", kill_on_drop: false }`
[INFO] [stdout] 1d1adab57ff5cf81cd2d1fffdb38d09f23e5eb21889d911c76481451da960fc2
