[INFO] fetching crate inertia-macros 0.1.0...
[INFO] testing inertia-macros-0.1.0 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate inertia-macros 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate inertia-macros 0.1.0 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate inertia-macros 0.1.0
[INFO] finished tweaking crates.io crate inertia-macros 0.1.0
[INFO] tweaked toml for crates.io crate inertia-macros 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b117f47258a7329e3a409238fa2925dcac0f0736bdb74b02a483ad9d31691086
[INFO] running `Command { std: "docker" "start" "-a" "b117f47258a7329e3a409238fa2925dcac0f0736bdb74b02a483ad9d31691086", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b117f47258a7329e3a409238fa2925dcac0f0736bdb74b02a483ad9d31691086", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b117f47258a7329e3a409238fa2925dcac0f0736bdb74b02a483ad9d31691086", kill_on_drop: false }`
[INFO] [stdout] b117f47258a7329e3a409238fa2925dcac0f0736bdb74b02a483ad9d31691086
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5fabacb71e2a4a9f4fb979ae0973b370b4c9e0e56ba26aca4043a429657dc4e
[INFO] running `Command { std: "docker" "start" "-a" "b5fabacb71e2a4a9f4fb979ae0973b370b4c9e0e56ba26aca4043a429657dc4e", kill_on_drop: false }`
[INFO] [stderr]    Compiling inertia-macros v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.60s
[INFO] running `Command { std: "docker" "inspect" "b5fabacb71e2a4a9f4fb979ae0973b370b4c9e0e56ba26aca4043a429657dc4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5fabacb71e2a4a9f4fb979ae0973b370b4c9e0e56ba26aca4043a429657dc4e", kill_on_drop: false }`
[INFO] [stdout] b5fabacb71e2a4a9f4fb979ae0973b370b4c9e0e56ba26aca4043a429657dc4e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 485df1473edf158de048ff112eb56ed0da90d3296152a8845723c69f2de17c43
[INFO] running `Command { std: "docker" "start" "-a" "485df1473edf158de048ff112eb56ed0da90d3296152a8845723c69f2de17c43", kill_on_drop: false }`
[INFO] [stderr]    Compiling inertia-macros v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "485df1473edf158de048ff112eb56ed0da90d3296152a8845723c69f2de17c43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "485df1473edf158de048ff112eb56ed0da90d3296152a8845723c69f2de17c43", kill_on_drop: false }`
[INFO] [stdout] 485df1473edf158de048ff112eb56ed0da90d3296152a8845723c69f2de17c43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3f8deefa9d20ef9aacf4cc01a0272c61d2ce12fce5e67de326f8dc95ae4b227e
[INFO] running `Command { std: "docker" "start" "-a" "3f8deefa9d20ef9aacf4cc01a0272c61d2ce12fce5e67de326f8dc95ae4b227e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/inertia_macros-e45cb5e073972b57)
[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]    Doc-tests inertia_macros
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/lib.rs - impl_ops_assign (line 560) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_uni_op (line 10) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op_assign_rprim (line 643) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops_rprim (line 327) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op_assign (line 479) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops (line 240) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_uni_ops (line 78) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op (line 149) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops_assign_rprim (line 724) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops_lprim (line 404) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - impl_ops_assign (line 560) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> src/lib.rs:566:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:565:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[opimps::impl_ops_assign(std::ops::AddAssign)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:573:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | a += b;
[INFO] [stdout]    | -^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `+=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `AddAssign` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:561:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:740:1
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:578:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | a += &b;
[INFO] [stdout]    | -^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `+=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `AddAssign<&TestObj>` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:561:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign<&TestObj>`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:740:1
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]  --> src/lib.rs:567:4
[INFO] [stdout]   |
[INFO] [stdout] 9 |    self.val += rhs.val;
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add_assign(mut self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0368, E0433, E0594.
[INFO] [stdout] For more information about an error, try `rustc --explain E0368`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_uni_op (line 10) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn not(self: A) -> A {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:17:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[opimps::impl_uni_op(Not)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `A`
[INFO] [stdout]   --> src/lib.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | let b = !a;
[INFO] [stdout]    |         ^^ cannot apply unary operator `!`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `Not` might be missing for `A`
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | struct A {
[INFO] [stdout]    | ^^^^^^^^ must implement `Not`
[INFO] [stdout] note: the trait `Not` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/bit.rs:34:1
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0600.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_op_assign_rprim (line 643) stdout ----
[INFO] [stdout] error[E0428]: the name `mul_assign` is defined multiple times
[INFO] [stdout]   --> src/lib.rs:654:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]    | ------------------------------------------ previous definition of the value `mul_assign` here
[INFO] [stdout] ...
[INFO] [stdout] 13 | fn mul_assign(self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `mul_assign` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mul_assign` must be defined only once in the value namespace of this block
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> src/lib.rs:649:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:654:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mul_assign(self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:648:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]   --> src/lib.rs:653:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]    |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:661:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | a *= b;
[INFO] [stdout]    | -^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `*=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `MulAssign` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:644:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:865:1
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:666:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | a *= &b;
[INFO] [stdout]    | -^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `*=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `MulAssign<&TestObj>` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:644:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign<&TestObj>`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:865:1
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]  --> src/lib.rs:650:4
[INFO] [stdout]   |
[INFO] [stdout] 9 |    self.val *= rhs.val;
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn mul_assign(mut self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]   --> src/lib.rs:655:4
[INFO] [stdout]    |
[INFO] [stdout] 14 |    self.val *= rhs.val;
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mul_assign(mut self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0368, E0428, E0433, E0594.
[INFO] [stdout] For more information about an error, try `rustc --explain E0368`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_ops_rprim (line 327) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:335:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn mul(self: ANumber, rhs: i32) -> i32 {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:334:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[opimps::impl_ops_rprim(Mul)] 
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&ANumber` by `{integer}`
[INFO] [stdout]   --> src/lib.rs:342:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | assert_eq!(28, &a * b);
[INFO] [stdout]    |                -- ^ - {integer}
[INFO] [stdout]    |                |
[INFO] [stdout]    |                &ANumber
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `ANumber` by `{integer}`
[INFO] [stdout]   --> src/lib.rs:343:18
[INFO] [stdout]    |
[INFO] [stdout] 18 | assert_eq!(28, a * b);
[INFO] [stdout]    |                - ^ - {integer}
[INFO] [stdout]    |                |
[INFO] [stdout]    |                ANumber
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `Mul<{integer}>` might be missing for `ANumber`
[INFO] [stdout]   --> src/lib.rs:330:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct ANumber {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `Mul<{integer}>`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:317:1
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0369, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0369`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_op_assign (line 479) stdout ----
[INFO] [stdout] error[E0428]: the name `mul_assign` is defined multiple times
[INFO] [stdout]   --> src/lib.rs:490:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]    | ------------------------------------------ previous definition of the value `mul_assign` here
[INFO] [stdout] ...
[INFO] [stdout] 13 | fn mul_assign(self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `mul_assign` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mul_assign` must be defined only once in the value namespace of this block
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> src/lib.rs:485:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:490:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mul_assign(self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:484:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]   --> src/lib.rs:489:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]    |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:497:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | a *= b;
[INFO] [stdout]    | -^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `*=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `MulAssign` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:480:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:865:1
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `*=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:502:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | a *= &b;
[INFO] [stdout]    | -^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `*=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `MulAssign<&TestObj>` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:480:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign<&TestObj>`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:865:1
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]  --> src/lib.rs:486:4
[INFO] [stdout]   |
[INFO] [stdout] 9 |    self.val *= rhs.val;
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn mul_assign(mut self: TestObj, rhs: TestObj) {
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]   --> src/lib.rs:491:4
[INFO] [stdout]    |
[INFO] [stdout] 14 |    self.val *= rhs.val;
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mul_assign(mut self: TestObj, rhs: &TestObj) {
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0368, E0428, E0433, E0594.
[INFO] [stdout] For more information about an error, try `rustc --explain E0368`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_ops (line 240) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:248:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn mul(self: ANumber, rhs: i32) -> i32 {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:247:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[opimps::impl_ops(Mul)] 
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&ANumber` by `&{integer}`
[INFO] [stdout]   --> src/lib.rs:255:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | assert_eq!(28, &a * &b);
[INFO] [stdout]    |                -- ^ -- &{integer}
[INFO] [stdout]    |                |
[INFO] [stdout]    |                &ANumber
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `ANumber` by `{integer}`
[INFO] [stdout]   --> src/lib.rs:256:18
[INFO] [stdout]    |
[INFO] [stdout] 18 | assert_eq!(28, a * b);
[INFO] [stdout]    |                - ^ - {integer}
[INFO] [stdout]    |                |
[INFO] [stdout]    |                ANumber
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `Mul<{integer}>` might be missing for `ANumber`
[INFO] [stdout]   --> src/lib.rs:243:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct ANumber {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `Mul<{integer}>`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:317:1
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0369, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0369`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_uni_ops (line 78) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn not(self: A) -> bool {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:85:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[opimps::impl_uni_ops(Not)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `&A`
[INFO] [stdout]   --> src/lib.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | let b = !&a;
[INFO] [stdout]    |         ^^^ cannot apply unary operator `!`
[INFO] [stdout] 
[INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `A`
[INFO] [stdout]   --> src/lib.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | let b = !a;
[INFO] [stdout]    |         ^^ cannot apply unary operator `!`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `Not` might be missing for `A`
[INFO] [stdout]   --> src/lib.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | struct A {
[INFO] [stdout]    | ^^^^^^^^ must implement `Not`
[INFO] [stdout] note: the trait `Not` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/bit.rs:34:1
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0600.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_op (line 149) stdout ----
[INFO] [stdout] error[E0428]: the name `mul` is defined multiple times
[INFO] [stdout]   --> src/lib.rs:160:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | fn mul(self: TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]    | ------------------------------------------ previous definition of the value `mul` here
[INFO] [stdout] ...
[INFO] [stdout] 13 | fn mul(self: &TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `mul` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mul` must be defined only once in the value namespace of this block
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `mul` is defined multiple times
[INFO] [stdout]   --> src/lib.rs:165:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | fn mul(self: TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]    | ------------------------------------------ previous definition of the value `mul` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | fn mul(self: &TestObj, rhs: &TestObj) -> i32 {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `mul` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mul` must be defined only once in the value namespace of this block
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> src/lib.rs:155:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn mul(self: TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]   |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:160:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mul(self: &TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:165:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn mul(self: &TestObj, rhs: &TestObj) -> i32 {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:154:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]   --> src/lib.rs:159:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]    |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]   --> src/lib.rs:164:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]    |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&TestObj` by `&TestObj`
[INFO] [stdout]   --> src/lib.rs:172:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | assert_eq!(28, &a * &b);
[INFO] [stdout]    |                -- ^ -- &TestObj
[INFO] [stdout]    |                |
[INFO] [stdout]    |                &TestObj
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `TestObj` by `TestObj`
[INFO] [stdout]   --> src/lib.rs:173:18
[INFO] [stdout]    |
[INFO] [stdout] 26 | assert_eq!(28, a * b);
[INFO] [stdout]    |                - ^ - TestObj
[INFO] [stdout]    |                |
[INFO] [stdout]    |                TestObj
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `Mul` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:150:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `Mul`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:317:1
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&TestObj` by `TestObj`
[INFO] [stdout]   --> src/lib.rs:179:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | assert_eq!(28, &a * b);
[INFO] [stdout]    |                -- ^ - TestObj
[INFO] [stdout]    |                |
[INFO] [stdout]    |                &TestObj
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0369, E0428, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0369`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_ops_assign_rprim (line 724) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> src/lib.rs:730:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add_assign(self: TestObj, rhs: i32) {
[INFO] [stdout]   |               ^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:729:3
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[opimps::impl_ops_assign_rprim(std::ops::AddAssign)]
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `TestObj`
[INFO] [stdout]   --> src/lib.rs:737:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | a += b;
[INFO] [stdout]    | -^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | cannot use `+=` on type `TestObj`
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `AddAssign<{integer}>` might be missing for `TestObj`
[INFO] [stdout]   --> src/lib.rs:725:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | pub struct TestObj {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign<{integer}>`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/arith.rs:740:1
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `self.val`, as `self` is not declared as mutable
[INFO] [stdout]  --> src/lib.rs:731:4
[INFO] [stdout]   |
[INFO] [stdout] 9 |    self.val += rhs;
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]   |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn add_assign(mut self: TestObj, rhs: i32) {
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0368, E0433, E0594.
[INFO] [stdout] For more information about an error, try `rustc --explain E0368`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - impl_ops_lprim (line 404) stdout ----
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]   --> src/lib.rs:412:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn mul(self: i32, rhs: ANumber) -> i32 {
[INFO] [stdout]    |        ^^^^ not semantically valid as function parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `opimps`
[INFO] [stdout]  --> src/lib.rs:411:3
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[opimps::impl_ops_lprim(Mul)] 
[INFO] [stdout]   |   ^^^^^^ use of undeclared crate or module `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{integer}` by `&ANumber`
[INFO] [stdout]   --> src/lib.rs:419:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | assert_eq!(28, a * &b);
[INFO] [stdout]    |                  ^ no implementation for `{integer} * &ANumber`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<&ANumber>` is not implemented for `{integer}`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <&'a f128 as Mul<f128>>
[INFO] [stdout]              <&'a f16 as Mul<f16>>
[INFO] [stdout]              <&'a f32 as Mul<f32>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&'a i128 as Mul<i128>>
[INFO] [stdout]              <&'a i16 as Mul<i16>>
[INFO] [stdout]              <&'a i32 as Mul<i32>>
[INFO] [stdout]              <&'a i64 as Mul<i64>>
[INFO] [stdout]            and 57 others
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{integer}` by `ANumber`
[INFO] [stdout]   --> src/lib.rs:420:18
[INFO] [stdout]    |
[INFO] [stdout] 18 | assert_eq!(28, a * b);
[INFO] [stdout]    |                  ^ no implementation for `{integer} * ANumber`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Mul<ANumber>` is not implemented for `{integer}`
[INFO] [stdout]    = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stdout]              <&'a f128 as Mul<f128>>
[INFO] [stdout]              <&'a f16 as Mul<f16>>
[INFO] [stdout]              <&'a f32 as Mul<f32>>
[INFO] [stdout]              <&'a f64 as Mul<f64>>
[INFO] [stdout]              <&'a i128 as Mul<i128>>
[INFO] [stdout]              <&'a i16 as Mul<i16>>
[INFO] [stdout]              <&'a i32 as Mul<i32>>
[INFO] [stdout]              <&'a i64 as Mul<i64>>
[INFO] [stdout]            and 57 others
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - impl_op (line 149)
[INFO] [stdout]     src/lib.rs - impl_op_assign (line 479)
[INFO] [stdout]     src/lib.rs - impl_op_assign_rprim (line 643)
[INFO] [stdout]     src/lib.rs - impl_ops (line 240)
[INFO] [stdout]     src/lib.rs - impl_ops_assign (line 560)
[INFO] [stdout]     src/lib.rs - impl_ops_assign_rprim (line 724)
[INFO] [stdout]     src/lib.rs - impl_ops_lprim (line 404)
[INFO] [stdout]     src/lib.rs - impl_ops_rprim (line 327)
[INFO] [stdout]     src/lib.rs - impl_uni_op (line 10)
[INFO] [stdout]     src/lib.rs - impl_uni_ops (line 78)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 10 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "3f8deefa9d20ef9aacf4cc01a0272c61d2ce12fce5e67de326f8dc95ae4b227e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f8deefa9d20ef9aacf4cc01a0272c61d2ce12fce5e67de326f8dc95ae4b227e", kill_on_drop: false }`
[INFO] [stdout] 3f8deefa9d20ef9aacf4cc01a0272c61d2ce12fce5e67de326f8dc95ae4b227e
