[INFO] fetching crate alga 0.9.3...
[INFO] testing alga-0.9.3 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate alga 0.9.3 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate alga 0.9.3
[INFO] finished tweaking crates.io crate alga 0.9.3
[INFO] tweaked toml for crates.io crate alga 0.9.3 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate alga 0.9.3 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate alga 0.9.3 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded alga_derive v0.9.1
[INFO] [stderr]   Downloaded aho-corasick v0.7.9
[INFO] [stderr]   Downloaded regex v1.3.4
[INFO] [stderr]   Downloaded regex-syntax v0.6.15
[INFO] [stderr]   Downloaded libc v0.2.67
[INFO] [stderr]   Downloaded decimal v2.0.4
[INFO] [stderr]   Downloaded quickcheck v0.8.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b27baf9d6bc6a75e2e1c3cabc04a1398aaab3d19f1e9a2c03487fe9884b86f7d
[INFO] running `Command { std: "docker" "start" "-a" "b27baf9d6bc6a75e2e1c3cabc04a1398aaab3d19f1e9a2c03487fe9884b86f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b27baf9d6bc6a75e2e1c3cabc04a1398aaab3d19f1e9a2c03487fe9884b86f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b27baf9d6bc6a75e2e1c3cabc04a1398aaab3d19f1e9a2c03487fe9884b86f7d", kill_on_drop: false }`
[INFO] [stdout] b27baf9d6bc6a75e2e1c3cabc04a1398aaab3d19f1e9a2c03487fe9884b86f7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a434c6c74d3616336f7d81d0c93fc7d654f29b77bd75ee647c6a84f4c1146b7d
[INFO] running `Command { std: "docker" "start" "-a" "a434c6c74d3616336f7d81d0c93fc7d654f29b77bd75ee647c6a84f4c1146b7d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling alga v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `impl_approx_eq`
[INFO] [stdout]    --> src/macros.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | macro_rules! impl_approx_eq {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_quasigroup`
[INFO] [stdout]    --> src/general/one_operator.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | macro_rules! impl_quasigroup(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_loop`
[INFO] [stdout]    --> src/general/one_operator.rs:222:14
[INFO] [stdout]     |
[INFO] [stdout] 222 | macro_rules! impl_loop(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rem`
[INFO] [stdout]  --> src/general/operator.rs:4:73
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Rem, Sub, SubAssign};
[INFO] [stdout]   |                                                                         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `general::Real`: This has been renamed `RealField`.
[INFO] [stdout]    --> src/general/mod.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl<T: RealField> Real for T {}
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/matrix.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/transformation.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AbstractOperator` is never constructed
[INFO] [stdout]   --> src/general/operator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AbstractOperator;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.15s
[INFO] running `Command { std: "docker" "inspect" "a434c6c74d3616336f7d81d0c93fc7d654f29b77bd75ee647c6a84f4c1146b7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a434c6c74d3616336f7d81d0c93fc7d654f29b77bd75ee647c6a84f4c1146b7d", kill_on_drop: false }`
[INFO] [stdout] a434c6c74d3616336f7d81d0c93fc7d654f29b77bd75ee647c6a84f4c1146b7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c86b065b81a9d694d17a433359c7dd99caeab79c2aedf34a2387883ee3c0bb70
[INFO] running `Command { std: "docker" "start" "-a" "c86b065b81a9d694d17a433359c7dd99caeab79c2aedf34a2387883ee3c0bb70", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling libc v0.2.67
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.6.15
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling aho-corasick v0.7.9
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling edit-distance v2.1.0
[INFO] [stdout] warning: unused macro definition: `impl_approx_eq`
[INFO] [stdout]    --> src/macros.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | macro_rules! impl_approx_eq {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_quasigroup`
[INFO] [stdout]    --> src/general/one_operator.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | macro_rules! impl_quasigroup(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_loop`
[INFO] [stdout]    --> src/general/one_operator.rs:222:14
[INFO] [stdout]     |
[INFO] [stdout] 222 | macro_rules! impl_loop(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rem`
[INFO] [stdout]  --> src/general/operator.rs:4:73
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Rem, Sub, SubAssign};
[INFO] [stdout]   |                                                                         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `general::Real`: This has been renamed `RealField`.
[INFO] [stdout]    --> src/general/mod.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl<T: RealField> Real for T {}
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/matrix.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/transformation.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AbstractOperator` is never constructed
[INFO] [stdout]   --> src/general/operator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AbstractOperator;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling regex v1.3.4
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling quickcheck v0.8.5
[INFO] [stderr]    Compiling alga_derive v0.9.1
[INFO] [stderr]    Compiling alga v0.9.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroupAbelian` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractMonoid` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractQuasigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractLoop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractSemigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractField` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractRingCommutative` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractRing` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroupAbelian` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractMonoid` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractQuasigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractLoop` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractSemigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroupAbelian` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractMonoid` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractQuasigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractLoop` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractSemigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroupAbelian` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractMonoid` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractQuasigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractLoop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/../examples/vectors.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractSemigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stdout] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stdout]    |                            -------- `Additive` is not local
[INFO] [stdout] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stdout] 20 | struct Vec2<Scalar> {
[INFO] [stdout]    |        ---- `Vec2` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractField` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractRingCommutative` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractRing` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroupAbelian` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractMonoid` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractQuasigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractLoop` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractSemigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                     -------- `Additive` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroupAbelian` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractGroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractMonoid` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractQuasigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractLoop` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> tests/../examples/vectors.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stdout]     |          ^---
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `AbstractSemigroup` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stdout] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]     |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 193 | #[alga_quickcheck]
[INFO] [stdout] 194 | struct Rational {
[INFO] [stdout]     |        -------- `Rational` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_trait_impl` is never used
[INFO] [stdout]   --> tests/derive.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn test_trait_impl() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractField` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractRingCommutative` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractRing` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroupAbelian` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractMonoid` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractQuasigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractLoop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractSemigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                     -------- `Additive` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroupAbelian` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractGroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractMonoid` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractQuasigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractLoop` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> tests/derive.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stdout]    |          ^---
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `AbstractSemigroup` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stdout] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stdout]    |                               -------------- `Multiplicative` is not local
[INFO] [stdout] 17 | #[alga_quickcheck]
[INFO] [stdout] 18 | struct W(f64);
[INFO] [stdout]    |        - `W` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_approx_eq`
[INFO] [stdout]    --> src/macros.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | macro_rules! impl_approx_eq {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_quasigroup`
[INFO] [stdout]    --> src/general/one_operator.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | macro_rules! impl_quasigroup(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_loop`
[INFO] [stdout]    --> src/general/one_operator.rs:222:14
[INFO] [stdout]     |
[INFO] [stdout] 222 | macro_rules! impl_loop(
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rem`
[INFO] [stdout]  --> src/general/operator.rs:4:73
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Rem, Sub, SubAssign};
[INFO] [stdout]   |                                                                         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `general::Real`: This has been renamed `RealField`.
[INFO] [stdout]    --> src/general/mod.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl<T: RealField> Real for T {}
[INFO] [stdout]     |                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/matrix.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stdout]    --> src/linear/transformation.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AbstractOperator` is never constructed
[INFO] [stdout]   --> src/general/operator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AbstractOperator;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.23s
[INFO] running `Command { std: "docker" "inspect" "c86b065b81a9d694d17a433359c7dd99caeab79c2aedf34a2387883ee3c0bb70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c86b065b81a9d694d17a433359c7dd99caeab79c2aedf34a2387883ee3c0bb70", kill_on_drop: false }`
[INFO] [stdout] c86b065b81a9d694d17a433359c7dd99caeab79c2aedf34a2387883ee3c0bb70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5974433332b8331c131ed5f25aed8815d6afe3e1a4ab842301d8fa65e01608c0
[INFO] running `Command { std: "docker" "start" "-a" "5974433332b8331c131ed5f25aed8815d6afe3e1a4ab842301d8fa65e01608c0", kill_on_drop: false }`
[INFO] [stderr] warning: unused macro definition: `impl_approx_eq`
[INFO] [stderr]    --> src/macros.rs:143:14
[INFO] [stderr]     |
[INFO] [stderr] 143 | macro_rules! impl_approx_eq {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `impl_quasigroup`
[INFO] [stderr]    --> src/general/one_operator.rs:110:14
[INFO] [stderr]     |
[INFO] [stderr] 110 | macro_rules! impl_quasigroup(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `impl_loop`
[INFO] [stderr]    --> src/general/one_operator.rs:222:14
[INFO] [stderr]     |
[INFO] [stderr] 222 | macro_rules! impl_loop(
[INFO] [stderr]     |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Rem`
[INFO] [stderr]  --> src/general/operator.rs:4:73
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Rem, Sub, SubAssign};
[INFO] [stderr]   |                                                                         ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated trait `general::Real`: This has been renamed `RealField`.
[INFO] [stderr]    --> src/general/mod.rs:200:20
[INFO] [stderr]     |
[INFO] [stderr] 200 | impl<T: RealField> Real for T {}
[INFO] [stderr]     |                    ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stderr]    --> src/linear/matrix.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 |     #[inline]
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `#[inline]` attribute cannot be used on required trait methods
[INFO] [stderr]    --> src/linear/transformation.rs:275:5
[INFO] [stderr]     |
[INFO] [stderr] 275 |     #[inline]
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = help: `#[inline]` can be applied to closures, functions, inherent methods, provided trait methods, and trait methods in impl blocks
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AbstractOperator` is never constructed
[INFO] [stderr]   --> src/general/operator.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct AbstractOperator;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `alga` (lib) generated 8 warnings (run `cargo fix --lib -p alga` to apply 3 suggestions)
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroupAbelian` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractMonoid` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractQuasigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractLoop` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractSemigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractField` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractRingCommutative` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractRing` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroupAbelian` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractMonoid` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractQuasigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractLoop` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractSemigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroupAbelian` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractMonoid` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractQuasigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractLoop` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractSemigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroupAbelian` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractMonoid` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractQuasigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractLoop` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/../examples/vectors.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Alga, PartialEq, Clone, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractSemigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_Vec2`
[INFO] [stderr] 18 | #[alga_traits(GroupAbelian(Additive), Where = "Scalar: AbstractField")]
[INFO] [stderr]    |                            -------- `Additive` is not local
[INFO] [stderr] 19 | #[alga_quickcheck(check(Rational))]
[INFO] [stderr] 20 | struct Vec2<Scalar> {
[INFO] [stderr]    |        ---- `Vec2` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractField` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractRingCommutative` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractRing` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroupAbelian` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractMonoid` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractQuasigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractLoop` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractSemigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                     -------- `Additive` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroupAbelian` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractGroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractMonoid` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractQuasigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractLoop` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> tests/../examples/vectors.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | #[derive(Alga, Clone, Debug)]
[INFO] [stderr]     |          ^---
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `AbstractSemigroup` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_ALGA_DERIVE_Rational`
[INFO] [stderr] 192 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]     |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 193 | #[alga_quickcheck]
[INFO] [stderr] 194 | struct Rational {
[INFO] [stderr]     |        -------- `Rational` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_trait_impl` is never used
[INFO] [stderr]   --> tests/derive.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn test_trait_impl() {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractField` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractRingCommutative` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractRing` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     --------  -------------- `Multiplicative` is not local
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroupAbelian` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractMonoid` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractQuasigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractLoop` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractSemigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                     -------- `Additive` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroupAbelian` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractGroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractMonoid` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractQuasigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractLoop` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> tests/derive.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(Alga, Clone, PartialEq, Debug)]
[INFO] [stderr]    |          ^---
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `AbstractSemigroup` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_ALGA_DERIVE_W`
[INFO] [stderr] 16 | #[alga_traits(Field(Additive, Multiplicative))]
[INFO] [stderr]    |                               -------------- `Multiplicative` is not local
[INFO] [stderr] 17 | #[alga_quickcheck]
[INFO] [stderr] 18 | struct W(f64);
[INFO] [stderr]    |        - `W` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Alga` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Alga` may come from an old version of the `alga_derive` crate, try updating your dependency with `cargo update -p alga_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Alga` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `alga` (example "vectors") generated 21 warnings
[INFO] [stderr] warning: `alga` (test "vectors") generated 21 warnings
[INFO] [stderr] warning: `alga` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: `alga` (test "derive") generated 16 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alga-c22ea594686f53a4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/derive.rs (/opt/rustwide/target/debug/deps/derive-4753e956c2303719)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test prop_inv_is_latin_square_approx_for_W_as_AbstractQuasigroup_Additive ... ok
[INFO] [stdout] test prop_inv_is_latin_square_approx_for_W_as_AbstractQuasigroup_Multiplicative ... ok
[INFO] [stdout] test prop_mul_and_add_are_distributive_approx_for_W_as_AbstractRing_Additive_Multiplicative ... ok
[INFO] [stdout] test prop_mul_is_commutative_approx_for_W_as_AbstractRingCommutative_Additive_Multiplicative ... ok
[INFO] [stdout] test prop_operating_identity_element_is_noop_approx_for_W_as_AbstractMonoid_Multiplicative ... ok
[INFO] [stdout] test prop_operating_identity_element_is_noop_approx_for_W_as_AbstractMonoid_Additive ... ok
[INFO] [stdout] test prop_is_commutative_approx_for_W_as_AbstractGroupAbelian_Multiplicative ... ok
[INFO] [stdout] test prop_is_associative_approx_for_W_as_AbstractSemigroup_Additive ... ok
[INFO] [stdout] test prop_is_associative_approx_for_W_as_AbstractSemigroup_Multiplicative ... ok
[INFO] [stdout] test prop_is_commutative_approx_for_W_as_AbstractGroupAbelian_Additive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/one_operator.rs (/opt/rustwide/target/debug/deps/one_operator-6c8ff4c935ab6b48)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test int_check::i128::prop_mul_is_associative ... ok
[INFO] [stdout] test int_check::i128::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::i128::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::i32::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::i32::prop_zero_is_noop ... ok
[INFO] [stdout] test int_check::i64::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::i32::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::i128::prop_zero_is_noop ... ok
[INFO] [stdout] test int_check::i32::prop_mul_is_associative ... ok
[INFO] [stdout] test int_check::i64::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::i64::prop_zero_is_noop ... ok
[INFO] [stdout] test int_check::i64::prop_mul_is_associative ... ok
[INFO] [stdout] test int_check::u128::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::u128::prop_mul_is_associative ... ok
[INFO] [stdout] test int_check::u128::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::u32::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::u128::prop_zero_is_noop ... ok
[INFO] [stdout] test int_check::u64::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::u32::prop_mul_unit_is_noop ... ok
[INFO] [stdout] test int_check::u64::prop_zero_is_noop ... ok
[INFO] [stdout] test int_check::u32::prop_zero_is_noop ... ok
[INFO] [stdout] test signed_int_check::i128::prop_inv_is_latin_square ... ok
[INFO] [stdout] test signed_int_check::i32::prop_inv_is_latin_square ... ok
[INFO] [stdout] test signed_int_check::i64::prop_inv_is_latin_square ... ok
[INFO] [stdout] test int_check::u32::prop_mul_is_associative ... ok
[INFO] [stderr]      Running tests/vectors.rs (/opt/rustwide/target/debug/deps/vectors-9a060fa0c5e20281)
[INFO] [stdout] test int_check::u64::prop_add_is_associative ... ok
[INFO] [stdout] test int_check::u64::prop_mul_is_associative ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test gcd_works ... ok
[INFO] [stdout] test prop_inv_is_latin_square_approx_for_Vec2_Rational_as_AbstractQuasigroup_Additive ... ok
[INFO] [stdout] test prop_is_associative_approx_for_Rational_as_AbstractSemigroup_Multiplicative ... ok
[INFO] [stdout] test prop_is_associative_approx_for_Rational_as_AbstractSemigroup_Additive ... ok
[INFO] [stdout] test prop_inv_is_latin_square_approx_for_Rational_as_AbstractQuasigroup_Multiplicative ... ok
[INFO] [stdout] test prop_is_commutative_approx_for_Rational_as_AbstractGroupAbelian_Additive ... ok
[INFO] [stdout] test prop_operating_identity_element_is_noop_approx_for_Rational_as_AbstractMonoid_Additive ... ok
[INFO] [stdout] test prop_mul_is_commutative_approx_for_Rational_as_AbstractRingCommutative_Additive_Multiplicative ... ok
[INFO] [stdout] test prop_operating_identity_element_is_noop_approx_for_Rational_as_AbstractMonoid_Multiplicative ... ok
[INFO] [stdout] test prop_operating_identity_element_is_noop_approx_for_Vec2_Rational_as_AbstractMonoid_Additive ... ok
[INFO] [stdout] test prop_is_associative_approx_for_Vec2_Rational_as_AbstractSemigroup_Additive ... ok
[INFO] [stdout] test prop_mul_and_add_are_distributive_approx_for_Rational_as_AbstractRing_Additive_Multiplicative ... ok
[INFO] [stdout] test prop_inv_is_latin_square_approx_for_Rational_as_AbstractQuasigroup_Additive ... ok
[INFO] [stdout] test prop_is_commutative_approx_for_Rational_as_AbstractGroupAbelian_Multiplicative ... ok
[INFO] [stdout] test prop_is_commutative_approx_for_Vec2_Rational_as_AbstractGroupAbelian_Additive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests alga
[INFO] [stderr] warning: unexpected character `.`
[INFO] [stderr]    --> src/general/mod.rs:15:1
[INFO] [stderr]     |
[INFO] [stderr]  15 | / //! Fundamental algebraic structures.
[INFO] [stderr]  16 | | //!
[INFO] [stderr]  17 | | //! For most applications requiring an abstraction over the reals, `RealField`
[INFO] [stderr]  18 | | //! should be sufficient.
[INFO] [stderr] ...   |
[INFO] [stderr] 156 | | //! }
[INFO] [stderr] 157 | | //! ~~~
[INFO] [stderr]     | |_______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(rustdoc::invalid_codeblock_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_quasigroup (line 88) ... FAILED
[INFO] [stdout] test src/general/two_operators.rs - general::two_operators::impl_ring (line 71) ... FAILED
[INFO] [stdout] test src/macros.rs - macros::impl_marker (line 19) ... FAILED
[INFO] [stdout] test src/general/two_operators.rs - general::two_operators::impl_ring_commutative (line 161) ... FAILED
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_monoid (line 265) ... FAILED
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_semigroup (line 149) ... FAILED
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_abelian (line 372) ... FAILED
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_loop (line 194) ... FAILED
[INFO] [stdout] test src/macros.rs - macros::impl_marker (line 27) ... FAILED
[INFO] [stdout] test src/general/one_operator.rs - general::one_operator::impl_group (line 302) ... FAILED
[INFO] [stdout] test src/general/two_operators.rs - general::two_operators::impl_field (line 221) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_quasigroup (line 88) stdout ----
[INFO] [stdout] error: cannot find macro `impl_quasigroup` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl_quasigroup!(<Additive> for Wrapper<T> where T: AbstractQuasigroup<Additive>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/two_operators.rs - general::two_operators::impl_ring (line 71) stdout ----
[INFO] [stdout] error: cannot find macro `impl_ring` in this scope
[INFO] [stdout]    --> src/general/two_operators.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl_ring!(<Additive, Multiplicative> for Wrapper<T> where T: AbstractRing);
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::impl_marker (line 19) stdout ----
[INFO] [stdout] error: cannot find macro `impl_marker` in this scope
[INFO] [stdout]   --> src/macros.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl_marker!(Marker; u32; Struct);
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/two_operators.rs - general::two_operators::impl_ring_commutative (line 161) stdout ----
[INFO] [stdout] error: cannot find macro `impl_ring` in this scope
[INFO] [stdout]    --> src/general/two_operators.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl_ring!(<Additive, Multiplicative> for Wrapper<T> where T: AbstractRingCommutative);
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_monoid (line 265) stdout ----
[INFO] [stdout] error: cannot find macro `impl_monoid` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:285:1
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl_monoid!(<Additive> for Wrapper<T> where T: AbstractMonoid<Additive>);
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_semigroup (line 149) stdout ----
[INFO] [stdout] error: cannot find macro `impl_semigroup` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl_semigroup!(<Additive> for Wrapper<T> where T: AbstractSemigroup<Additive>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_abelian (line 372) stdout ----
[INFO] [stdout] error: cannot find macro `impl_abelian` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:398:1
[INFO] [stdout]     |
[INFO] [stdout] 398 | impl_abelian!(<Additive> for Wrapper<T> where T: AbstractGroupAbelian<Additive>);
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_loop (line 194) stdout ----
[INFO] [stdout] error: cannot find macro `impl_loop` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl_loop!(<Additive> for Wrapper<T> where T: AbstractLoop<Additive>);
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::impl_marker (line 27) stdout ----
[INFO] [stdout] error: cannot find macro `impl_marker` in this scope
[INFO] [stdout]   --> src/macros.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl_marker!(Marker<T>; Struct<T> where T: Debug);
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/one_operator.rs - general::one_operator::impl_group (line 302) stdout ----
[INFO] [stdout] error: cannot find macro `impl_group` in this scope
[INFO] [stdout]    --> src/general/one_operator.rs:328:1
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl_group!(<Additive> for Wrapper<T> where T: AbstractGroup<Additive>);
[INFO] [stdout]     | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/general/two_operators.rs - general::two_operators::impl_field (line 221) stdout ----
[INFO] [stdout] error: cannot find macro `impl_field` in this scope
[INFO] [stdout]    --> src/general/two_operators.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl_field!(<Additive, Multiplicative> for Wrapper<T> where T: AbstractField);
[INFO] [stdout]     | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_abelian (line 372)
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_group (line 302)
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_loop (line 194)
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_monoid (line 265)
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_quasigroup (line 88)
[INFO] [stdout]     src/general/one_operator.rs - general::one_operator::impl_semigroup (line 149)
[INFO] [stdout]     src/general/two_operators.rs - general::two_operators::impl_field (line 221)
[INFO] [stdout]     src/general/two_operators.rs - general::two_operators::impl_ring (line 71)
[INFO] [stdout]     src/general/two_operators.rs - general::two_operators::impl_ring_commutative (line 161)
[INFO] [stdout]     src/macros.rs - macros::impl_marker (line 19)
[INFO] [stdout]     src/macros.rs - macros::impl_marker (line 27)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 11 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "5974433332b8331c131ed5f25aed8815d6afe3e1a4ab842301d8fa65e01608c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5974433332b8331c131ed5f25aed8815d6afe3e1a4ab842301d8fa65e01608c0", kill_on_drop: false }`
[INFO] [stdout] 5974433332b8331c131ed5f25aed8815d6afe3e1a4ab842301d8fa65e01608c0
