[INFO] fetching crate truck-stepio 0.3.0...
[INFO] checking truck-stepio-0.3.0 against try#446cb600aa4837dd6c513f14fa0d25a909b177d7 for pr-149195
[INFO] extracting crate truck-stepio 0.3.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate truck-stepio 0.3.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate truck-stepio 0.3.0
[INFO] tweaked toml for crates.io crate truck-stepio 0.3.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate truck-stepio 0.3.0 on toolchain 446cb600aa4837dd6c513f14fa0d25a909b177d7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate truck-stepio 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0a1d7327df08e91a025b7cb1b29f75eabf6989c86f87282692b0ce83cc6b2adc
[INFO] running `Command { std: "docker" "start" "-a" "0a1d7327df08e91a025b7cb1b29f75eabf6989c86f87282692b0ce83cc6b2adc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0a1d7327df08e91a025b7cb1b29f75eabf6989c86f87282692b0ce83cc6b2adc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a1d7327df08e91a025b7cb1b29f75eabf6989c86f87282692b0ce83cc6b2adc", kill_on_drop: false }`
[INFO] [stdout] 0a1d7327df08e91a025b7cb1b29f75eabf6989c86f87282692b0ce83cc6b2adc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 422699b92eee7abf2faad7e727823bd49feb4801b8de02c1c8c98b33ce1ec926
[INFO] running `Command { std: "docker" "start" "-a" "422699b92eee7abf2faad7e727823bd49feb4801b8de02c1c8c98b33ce1ec926", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking rustc-hash v2.0.0
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling cc v1.1.21
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]     Checking branches v0.1.3
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking rclite v0.2.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]     Checking array-macro v2.1.8
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking rustix v0.38.37
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking flate2 v1.0.33
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking robust v1.1.0
[INFO] [stderr]    Compiling check_keyword v0.2.0
[INFO] [stderr]     Checking lz4_flex v0.7.5
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking clap_builder v4.5.17
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]     Checking tempfile v3.12.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling katexit v0.1.4
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling truck-derivers v0.1.0
[INFO] [stderr]    Compiling bytemuck_derive v1.7.1
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]    Compiling ruststep-derive v0.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking clap v4.5.17
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling espr v0.4.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking spade v2.12.1
[INFO] [stderr]     Checking proptest v1.5.0
[INFO] [stderr]     Checking serde v1.0.210
[INFO] [stderr]     Checking cgmath v0.18.0
[INFO] [stderr]     Checking quick-xml v0.22.0
[INFO] [stderr]     Checking ruststep v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.128
[INFO] [stderr]    Compiling espr-derive v0.4.0
[INFO] [stderr]     Checking vtkio v0.6.3
[INFO] [stderr]     Checking matext4cgmath v0.1.0
[INFO] [stderr]     Checking truck-base v0.5.0
[INFO] [stderr]     Checking truck-geotrait v0.4.0
[INFO] [stderr]     Checking truck-polymesh v0.6.0
[INFO] [stderr]     Checking truck-geometry v0.5.0
[INFO] [stderr]     Checking truck-topology v0.6.0
[INFO] [stderr]     Checking truck-modeling v0.6.0
[INFO] [stderr]     Checking truck-meshalgo v0.4.0
[INFO] [stderr]     Checking truck-stepio v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:245:32
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl ParametricSurface for Sphere {
[INFO] [stdout]     |                                ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 |     impl ParametricSurface3D for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |     impl SearchNearestParameter<D2> for Sphere {
[INFO] [stdout]     |                                         ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |     impl SearchParameter<D2> for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 |     impl ParameterDivision2D for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     impl SearchParameter<D2> for Sphere {
[INFO] [stdout]     |     ^^^^^-------------------^^^^^------
[INFO] [stdout]     |          |                       |
[INFO] [stdout]     |          |                       `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |          `truck_geotrait::D2` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     impl SearchNearestParameter<D2> for Sphere {
[INFO] [stdout]     |     ^^^^^--------------------------^^^^^------
[INFO] [stdout]     |          |                              |
[INFO] [stdout]     |          |                              `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |          `truck_geotrait::D2` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl ParametricSurface for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     impl ParametricSurface3D for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 302 |     impl ParameterDivision2D for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:245:32
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl ParametricSurface for Sphere {
[INFO] [stdout]     |                                ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 |     impl ParametricSurface3D for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |     impl SearchNearestParameter<D2> for Sphere {
[INFO] [stdout]     |                                         ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:288:34
[INFO] [stdout]     |
[INFO] [stdout] 288 |     impl SearchParameter<D2> for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Sphere` is ambiguous
[INFO] [stdout]    --> src/in/alias.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 |     impl ParameterDivision2D for Sphere {
[INFO] [stdout]     |                                  ^^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Sphere` could refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] note: `Sphere` could also refer to the struct imported here
[INFO] [stdout]    --> src/in/alias.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Sphere` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     ParametricSurface3D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               ()
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, <C as truck_geotrait::ParametricCurve>::Vector>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParametricSurface`
[INFO] [stdout]     = note: this error originates in the derive macro `ParametricSurface3D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface3D` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     ParametricSurface3D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface3D` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface3D`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<truck_polymesh::cgmath::Point3<f64>>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, truck_polymesh::cgmath::Vector3<f64>>
[INFO] [stdout]               truck_modeling::NurbsSurface<truck_polymesh::cgmath::Vector4<f64>>
[INFO] [stdout]             and 7 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParametricSurface3D`
[INFO] [stdout]     = note: this error originates in the derive macro `ParametricSurface3D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParameterDivision2D` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     ParameterDivision2D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParameterDivision2D` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParameterDivision2D`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, V>
[INFO] [stdout]               truck_modeling::NurbsSurface<V>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParameterDivision2D`
[INFO] [stdout]     = note: this error originates in the derive macro `ParameterDivision2D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::SearchParameter<truck_geotrait::D2>` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     SearchParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::SearchParameter<truck_geotrait::D2>` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::SearchParameter<Dim>`:
[INFO] [stdout]               `&'a T` implements `truck_geotrait::SearchParameter<Dim>`
[INFO] [stdout]               `Box<T>` implements `truck_geotrait::SearchParameter<Dim>`
[INFO] [stdout]               `Leader` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic2D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic3D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve2D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve3D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::ElementarySurface` implements `truck_geotrait::SearchParameter<truck_geotrait::D2>`
[INFO] [stdout]             and 30 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     SearchNearestParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               ()
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, <C as truck_geotrait::ParametricCurve>::Vector>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchNearestParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::SearchNearestParameter<truck_geotrait::D2>` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     SearchNearestParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::SearchNearestParameter<Dim>`:
[INFO] [stdout]               `&'a T` implements `truck_geotrait::SearchNearestParameter<Dim>`
[INFO] [stdout]               `Box<T>` implements `truck_geotrait::SearchNearestParameter<Dim>`
[INFO] [stdout]               `Leader` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic2D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic3D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve2D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve3D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::ElementarySurface` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]             and 27 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchNearestParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:249:57
[INFO] [stdout]     |
[INFO] [stdout] 249 |         fn subs(&self, u: f64, v: f64) -> Point3 { self.0.subs(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                         ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:251:58
[INFO] [stdout]     |
[INFO] [stdout] 251 |         fn uder(&self, u: f64, v: f64) -> Vector3 { self.0.vder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                          ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:253:59
[INFO] [stdout]     |
[INFO] [stdout] 253 |         fn vder(&self, u: f64, v: f64) -> Vector3 { -self.0.uder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:255:59
[INFO] [stdout]     |
[INFO] [stdout] 255 |         fn uuder(&self, u: f64, v: f64) -> Vector3 { self.0.vvder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:257:60
[INFO] [stdout]     |
[INFO] [stdout] 257 |         fn uvder(&self, u: f64, v: f64) -> Vector3 { -self.0.uvder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:259:59
[INFO] [stdout]     |
[INFO] [stdout] 259 |         fn vvder(&self, u: f64, v: f64) -> Vector3 { self.0.uuder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:272:60
[INFO] [stdout]     |
[INFO] [stdout] 272 |         fn normal(&self, u: f64, v: f64) -> Vector3 { self.0.normal(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:283:18
[INFO] [stdout]     |
[INFO] [stdout] 283 |             self.0
[INFO] [stdout]     |                  ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:297:18
[INFO] [stdout]     |
[INFO] [stdout] 297 |             self.0
[INFO] [stdout]     |                  ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:310:39
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let (udiv0, vdiv0) = self.0.parameter_division(range, tol);
[INFO] [stdout]     |                                       ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/in/alias.rs:311:24
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let vdiv = udiv0.into_iter().map(|u| PI / 2.0 - u).collect();
[INFO] [stdout]     |                        ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     impl SearchParameter<D2> for Sphere {
[INFO] [stdout]     |     ^^^^^-------------------^^^^^------
[INFO] [stdout]     |          |                       |
[INFO] [stdout]     |          |                       `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |          `truck_geotrait::D2` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     impl SearchNearestParameter<D2> for Sphere {
[INFO] [stdout]     |     ^^^^^--------------------------^^^^^------
[INFO] [stdout]     |          |                              |
[INFO] [stdout]     |          |                              `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |          `truck_geotrait::D2` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     impl ParametricSurface for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     impl ParametricSurface3D for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
[INFO] [stdout]    --> src/in/alias.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 302 |     impl ParameterDivision2D for Sphere {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `truck_modeling::Sphere` is not defined in the current crate
[INFO] [stdout]     |
[INFO] [stdout]     = note: impl doesn't have any local type before any uncovered type parameters
[INFO] [stdout]     = note: for more information see https://doc.rust-lang.org/reference/items/implementations.html#orphan-rules
[INFO] [stdout]     = note: define and implement a trait or new type instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     ParametricSurface3D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               ()
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, <C as truck_geotrait::ParametricCurve>::Vector>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParametricSurface`
[INFO] [stdout]     = note: this error originates in the derive macro `ParametricSurface3D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface3D` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     ParametricSurface3D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface3D` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface3D`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<truck_polymesh::cgmath::Point3<f64>>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, truck_polymesh::cgmath::Vector3<f64>>
[INFO] [stdout]               truck_modeling::NurbsSurface<truck_polymesh::cgmath::Vector4<f64>>
[INFO] [stdout]             and 7 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParametricSurface3D`
[INFO] [stdout]     = note: this error originates in the derive macro `ParametricSurface3D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParameterDivision2D` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     ParameterDivision2D,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParameterDivision2D` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParameterDivision2D`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, V>
[INFO] [stdout]               truck_modeling::NurbsSurface<V>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::ParameterDivision2D`
[INFO] [stdout]     = note: this error originates in the derive macro `ParameterDivision2D` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::SearchParameter<truck_geotrait::D2>` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     SearchParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::SearchParameter<truck_geotrait::D2>` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::SearchParameter<Dim>`:
[INFO] [stdout]               `&'a T` implements `truck_geotrait::SearchParameter<Dim>`
[INFO] [stdout]               `Box<T>` implements `truck_geotrait::SearchParameter<Dim>`
[INFO] [stdout]               `Leader` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic2D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic3D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve2D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve3D` implements `truck_geotrait::SearchParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::ElementarySurface` implements `truck_geotrait::SearchParameter<truck_geotrait::D2>`
[INFO] [stdout]             and 30 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::ParametricSurface` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     SearchNearestParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::ParametricSurface` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::ParametricSurface`:
[INFO] [stdout]               &'a S
[INFO] [stdout]               ()
[INFO] [stdout]               Box<S>
[INFO] [stdout]               alias::ElementarySurface
[INFO] [stdout]               alias::Surface
[INFO] [stdout]               alias::SweptCurve
[INFO] [stdout]               truck_modeling::BSplineSurface<P>
[INFO] [stdout]               truck_modeling::ExtrudedCurve<C, <C as truck_geotrait::ParametricCurve>::Vector>
[INFO] [stdout]             and 8 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchNearestParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `alias::Sphere: truck_geotrait::SearchNearestParameter<truck_geotrait::D2>` is not satisfied
[INFO] [stdout]    --> src/in/alias.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     SearchNearestParameterD2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>` is not implemented for `alias::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:234:1
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `truck_geotrait::SearchNearestParameter<Dim>`:
[INFO] [stdout]               `&'a T` implements `truck_geotrait::SearchNearestParameter<Dim>`
[INFO] [stdout]               `Box<T>` implements `truck_geotrait::SearchNearestParameter<Dim>`
[INFO] [stdout]               `Leader` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic2D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Conic3D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve2D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::Curve3D` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D1>`
[INFO] [stdout]               `alias::ElementarySurface` implements `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]             and 27 others
[INFO] [stdout]     = note: required for `truck_modeling::Processor<alias::Sphere, truck_polymesh::cgmath::Matrix4<f64>>` to implement `truck_geotrait::SearchNearestParameter<truck_geotrait::D2>`
[INFO] [stdout]     = note: this error originates in the derive macro `SearchNearestParameterD2` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:249:57
[INFO] [stdout]     |
[INFO] [stdout] 249 |         fn subs(&self, u: f64, v: f64) -> Point3 { self.0.subs(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                         ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:251:58
[INFO] [stdout]     |
[INFO] [stdout] 251 |         fn uder(&self, u: f64, v: f64) -> Vector3 { self.0.vder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                          ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:253:59
[INFO] [stdout]     |
[INFO] [stdout] 253 |         fn vder(&self, u: f64, v: f64) -> Vector3 { -self.0.uder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:255:59
[INFO] [stdout]     |
[INFO] [stdout] 255 |         fn uuder(&self, u: f64, v: f64) -> Vector3 { self.0.vvder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:257:60
[INFO] [stdout]     |
[INFO] [stdout] 257 |         fn uvder(&self, u: f64, v: f64) -> Vector3 { -self.0.uvder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:259:59
[INFO] [stdout]     |
[INFO] [stdout] 259 |         fn vvder(&self, u: f64, v: f64) -> Vector3 { self.0.uuder(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:272:60
[INFO] [stdout]     |
[INFO] [stdout] 272 |         fn normal(&self, u: f64, v: f64) -> Vector3 { self.0.normal(PI / 2.0 - v, u) }
[INFO] [stdout]     |                                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:283:18
[INFO] [stdout]     |
[INFO] [stdout] 283 |             self.0
[INFO] [stdout]     |                  ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:297:18
[INFO] [stdout]     |
[INFO] [stdout] 297 |             self.0
[INFO] [stdout]     |                  ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `0` on type `&truck_modeling::Sphere`
[INFO] [stdout]    --> src/in/alias.rs:310:39
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let (udiv0, vdiv0) = self.0.parameter_division(range, tol);
[INFO] [stdout]     |                                       ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/in/alias.rs:311:24
[INFO] [stdout]     |
[INFO] [stdout] 311 |             let vdiv = udiv0.into_iter().map(|u| PI / 2.0 - u).collect();
[INFO] [stdout]     |                        ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 327 |             let uder0 = sphere.uder(u, v);
[INFO] [stdout]     |                                ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 327 |             let uder0 = sphere.0.uder(u, v);
[INFO] [stdout]     |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `subs` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:328:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `subs` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |             let uder1 = (sphere.subs(u + EPS, v) - sphere.subs(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                 ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `subs`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricCurve`
[INFO] [stdout]             candidate #2: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let uder1 = (sphere.0.subs(u + EPS, v) - sphere.subs(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `subs` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:328:59
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `subs` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 328 |             let uder1 = (sphere.subs(u + EPS, v) - sphere.subs(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                                           ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `subs`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricCurve`
[INFO] [stdout]             candidate #2: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let uder1 = (sphere.subs(u + EPS, v) - sphere.0.subs(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:334:32
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `vder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 334 |             let vder0 = sphere.vder(u, v);
[INFO] [stdout]     |                                ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `vder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let vder0 = sphere.0.vder(u, v);
[INFO] [stdout]     |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `subs` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:335:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `subs` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 335 |             let vder1 = (sphere.subs(u, v + EPS) - sphere.subs(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                 ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `subs`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricCurve`
[INFO] [stdout]             candidate #2: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 335 |             let vder1 = (sphere.0.subs(u, v + EPS) - sphere.subs(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `subs` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:335:59
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `subs` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 335 |             let vder1 = (sphere.subs(u, v + EPS) - sphere.subs(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                           ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `subs`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricCurve`
[INFO] [stdout]             candidate #2: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 335 |             let vder1 = (sphere.subs(u, v + EPS) - sphere.0.subs(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uuder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:341:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uuder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 341 |             let uuder0 = sphere.uuder(u, v);
[INFO] [stdout]     |                                 ^^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uuder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 341 |             let uuder0 = sphere.0.uuder(u, v);
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:342:34
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 342 |             let uuder1 = (sphere.uder(u + EPS, v) - sphere.uder(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 342 |             let uuder1 = (sphere.0.uder(u + EPS, v) - sphere.uder(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:342:60
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 342 |             let uuder1 = (sphere.uder(u + EPS, v) - sphere.uder(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 342 |             let uuder1 = (sphere.uder(u + EPS, v) - sphere.0.uder(u - EPS, v)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uvder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:348:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uvder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 348 |             let uvder0 = sphere.uvder(u, v);
[INFO] [stdout]     |                                 ^^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uvder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 348 |             let uvder0 = sphere.0.uvder(u, v);
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:349:34
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 349 |             let uvder1 = (sphere.uder(u, v + EPS) - sphere.uder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let uvder1 = (sphere.0.uder(u, v + EPS) - sphere.uder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:349:60
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 349 |             let uvder1 = (sphere.uder(u, v + EPS) - sphere.uder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let uvder1 = (sphere.uder(u, v + EPS) - sphere.0.uder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vvder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:355:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `vvder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 355 |             let vvder0 = sphere.vvder(u, v);
[INFO] [stdout]     |                                 ^^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `vvder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 355 |             let vvder0 = sphere.0.vvder(u, v);
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:356:34
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `vder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 356 |             let vvder1 = (sphere.vder(u, v + EPS) - sphere.vder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `vder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 356 |             let vvder1 = (sphere.0.vder(u, v + EPS) - sphere.vder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:356:60
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `vder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 356 |             let vvder1 = (sphere.vder(u, v + EPS) - sphere.vder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `vder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 356 |             let vvder1 = (sphere.vder(u, v + EPS) - sphere.0.vder(u, v - EPS)) / (2.0 * EPS);
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `normal` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:362:29
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `normal` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 362 |             let n0 = sphere.normal(u, v);
[INFO] [stdout]     |                             ^^^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `normal`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface3D`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 362 |             let n0 = sphere.0.normal(u, v);
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `uder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:363:29
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `uder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 363 |             let n1 = sphere.uder(u, v).cross(sphere.vder(u, v)).normalize();
[INFO] [stdout]     |                             ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `uder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 363 |             let n1 = sphere.0.uder(u, v).cross(sphere.vder(u, v)).normalize();
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `vder` found for struct `alias::Sphere` in the current scope
[INFO] [stdout]    --> src/in/alias.rs:363:53
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct Sphere(pub truck_geometry::prelude::Sphere);
[INFO] [stdout]     | ----------------- method `vder` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 363 |             let n1 = sphere.uder(u, v).cross(sphere.vder(u, v)).normalize();
[INFO] [stdout]     |                                                     ^^^^ method not found in `alias::Sphere`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `vder`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `truck_geotrait::ParametricSurface`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 363 |             let n1 = sphere.uder(u, v).cross(sphere.0.vder(u, v)).normalize();
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0117, E0277, E0282, E0609, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0117`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `truck-stepio` (lib) due to 27 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0117, E0277, E0282, E0599, E0609, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0117`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `truck-stepio` (lib test) due to 45 previous errors
[INFO] running `Command { std: "docker" "inspect" "422699b92eee7abf2faad7e727823bd49feb4801b8de02c1c8c98b33ce1ec926", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "422699b92eee7abf2faad7e727823bd49feb4801b8de02c1c8c98b33ce1ec926", kill_on_drop: false }`
[INFO] [stdout] 422699b92eee7abf2faad7e727823bd49feb4801b8de02c1c8c98b33ce1ec926
