[INFO] fetching crate inertia-macros 0.1.0...
[INFO] testing inertia-macros-0.1.0 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate inertia-macros 0.1.0 into /workspace/builds/worker-1-tc2/source
[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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate inertia-macros 0.1.0 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 4 packages to latest compatible versions
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.114)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f752e1c6e1da6f11254be0c90bf0821fdf4cc51533fe47be2fb65b1032003b8f
[INFO] running `Command { std: "docker" "start" "-a" "f752e1c6e1da6f11254be0c90bf0821fdf4cc51533fe47be2fb65b1032003b8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f752e1c6e1da6f11254be0c90bf0821fdf4cc51533fe47be2fb65b1032003b8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f752e1c6e1da6f11254be0c90bf0821fdf4cc51533fe47be2fb65b1032003b8f", kill_on_drop: false }`
[INFO] [stdout] f752e1c6e1da6f11254be0c90bf0821fdf4cc51533fe47be2fb65b1032003b8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 4672df8ed2370810ee54045c1602caad95a65c215b7252b2d2fc802d4104f513
[INFO] running `Command { std: "docker" "start" "-a" "4672df8ed2370810ee54045c1602caad95a65c215b7252b2d2fc802d4104f513", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling inertia-macros v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.55s
[INFO] running `Command { std: "docker" "inspect" "4672df8ed2370810ee54045c1602caad95a65c215b7252b2d2fc802d4104f513", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4672df8ed2370810ee54045c1602caad95a65c215b7252b2d2fc802d4104f513", kill_on_drop: false }`
[INFO] [stdout] 4672df8ed2370810ee54045c1602caad95a65c215b7252b2d2fc802d4104f513
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 7197470d5a184c3962e6b21588c70fb28d79d53bd59e18aeec00484c5d1834da
[INFO] running `Command { std: "docker" "start" "-a" "7197470d5a184c3962e6b21588c70fb28d79d53bd59e18aeec00484c5d1834da", 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.69s
[INFO] running `Command { std: "docker" "inspect" "7197470d5a184c3962e6b21588c70fb28d79d53bd59e18aeec00484c5d1834da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7197470d5a184c3962e6b21588c70fb28d79d53bd59e18aeec00484c5d1834da", kill_on_drop: false }`
[INFO] [stdout] 7197470d5a184c3962e6b21588c70fb28d79d53bd59e18aeec00484c5d1834da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 8824a6a2bced87124e99a9e3a879db7c224443bbabda3976817ddb3b1732a113
[INFO] running `Command { std: "docker" "start" "-a" "8824a6a2bced87124e99a9e3a879db7c224443bbabda3976817ddb3b1732a113", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/inertia-macros/d3f86ccdcb224845/deps/inertia_macros-d3f86ccdcb224845)
[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_rprim (line 724) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_uni_op (line 10) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops_rprim (line 327) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops_assign (line 560) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op (line 149) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op_assign_rprim (line 643) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_uni_ops (line 78) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_ops (line 240) ... FAILED
[INFO] [stdout] test src/lib.rs - impl_op_assign (line 479) ... 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_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] 730 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:729:3
[INFO] [stdout]     |
[INFO] [stdout] 729 | #[opimps::impl_ops_assign_rprim(std::ops::AddAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `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] 737 | 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] 725 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign<{integer}>`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:769:0
[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] 731 |    self.val += rhs;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 730 | 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_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] 18 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]   --> src/lib.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[opimps::impl_uni_op(Not)]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `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] 23 | 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] 13 | struct A {
[INFO] [stdout]    | ^^^^^^^^ must implement `Not`
[INFO] [stdout] note: the trait `Not` must be implemented
[INFO] [stdout]   --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/bit.rs:35:0
[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_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] 335 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:334:3
[INFO] [stdout]     |
[INFO] [stdout] 334 | #[opimps::impl_ops_rprim(Mul)] 
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&ANumber` by `{integer}`
[INFO] [stdout]    --> src/lib.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 | 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] 343 | 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] 330 | pub struct ANumber {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `Mul<{integer}>`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:324:0
[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_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] 566 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:565:3
[INFO] [stdout]     |
[INFO] [stdout] 565 | #[opimps::impl_ops_assign(std::ops::AddAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `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] 573 | 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] 561 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:769:0
[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] 578 | 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] 561 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `AddAssign<&TestObj>`
[INFO] [stdout] note: the trait `AddAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:769:0
[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] 567 |    self.val += rhs.val;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 566 | 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_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] 155 | fn mul(self: TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]     | ------------------------------------------ previous definition of the value `mul` here
[INFO] [stdout] ...
[INFO] [stdout] 160 | 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] 155 | fn mul(self: TestObj, rhs: TestObj) -> i32 {
[INFO] [stdout]     | ------------------------------------------ previous definition of the value `mul` here
[INFO] [stdout] ...
[INFO] [stdout] 165 | 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] 155 | 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] 160 | 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] 165 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:154:3
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:159:3
[INFO] [stdout]     |
[INFO] [stdout] 159 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:164:3
[INFO] [stdout]     |
[INFO] [stdout] 164 | #[opimps::impl_op(std::ops::Mul)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&TestObj` by `&TestObj`
[INFO] [stdout]    --> src/lib.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 172 | 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] 173 | 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] 150 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `Mul`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:324:0
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&TestObj` by `TestObj`
[INFO] [stdout]    --> src/lib.rs:179:19
[INFO] [stdout]     |
[INFO] [stdout] 179 | 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_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] 649 | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]     | ------------------------------------------ previous definition of the value `mul_assign` here
[INFO] [stdout] ...
[INFO] [stdout] 654 | 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] 649 | 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] 654 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:648:3
[INFO] [stdout]     |
[INFO] [stdout] 648 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:653:3
[INFO] [stdout]     |
[INFO] [stdout] 653 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `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] 661 | 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] 644 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:902:0
[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] 666 | 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] 644 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign<&TestObj>`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:902:0
[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] 650 |    self.val *= rhs.val;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 649 | 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] 655 |    self.val *= rhs.val;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 654 | 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_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] 86 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]   --> src/lib.rs:85:3
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[opimps::impl_uni_ops(Not)]
[INFO] [stdout]    |   ^^^^^^ use of unresolved module or unlinked crate `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] 92 | 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] 95 | 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] 81 | struct A {
[INFO] [stdout]    | ^^^^^^^^ must implement `Not`
[INFO] [stdout] note: the trait `Not` must be implemented
[INFO] [stdout]   --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/bit.rs:35:0
[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_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] 248 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:247:3
[INFO] [stdout]     |
[INFO] [stdout] 247 | #[opimps::impl_ops(Mul)] 
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: cannot multiply `&ANumber` by `&{integer}`
[INFO] [stdout]    --> src/lib.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 | 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] 256 | 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] 243 | pub struct ANumber {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `Mul<{integer}>`
[INFO] [stdout] note: the trait `Mul` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:324:0
[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] 485 | fn mul_assign(self: TestObj, rhs: TestObj) {
[INFO] [stdout]     | ------------------------------------------ previous definition of the value `mul_assign` here
[INFO] [stdout] ...
[INFO] [stdout] 490 | 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] 485 | 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] 490 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:484:3
[INFO] [stdout]     |
[INFO] [stdout] 484 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:489:3
[INFO] [stdout]     |
[INFO] [stdout] 489 | #[opimps::impl_op_assign(std::ops::MulAssign)]
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `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] 497 | 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] 480 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:902:0
[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] 502 | 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] 480 | pub struct TestObj {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ must implement `MulAssign<&TestObj>`
[INFO] [stdout] note: the trait `MulAssign` must be implemented
[INFO] [stdout]    --> /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/arith.rs:902:0
[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] 486 |    self.val *= rhs.val;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 485 | 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] 491 |    self.val *= rhs.val;
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]     |
[INFO] [stdout] 490 | 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_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] 412 | 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 unresolved module or unlinked crate `opimps`
[INFO] [stdout]    --> src/lib.rs:411:3
[INFO] [stdout]     |
[INFO] [stdout] 411 | #[opimps::impl_ops_lprim(Mul)] 
[INFO] [stdout]     |   ^^^^^^ use of unresolved module or unlinked crate `opimps`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: cannot multiply `{integer}` by `&ANumber`
[INFO] [stdout]    --> src/lib.rs:419:18
[INFO] [stdout]     |
[INFO] [stdout] 419 | 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]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[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] 420 | 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]               `&f128` implements `Mul<f128>`
[INFO] [stdout]               `&f128` implements `Mul`
[INFO] [stdout]               `&f16` implements `Mul<f16>`
[INFO] [stdout]               `&f16` implements `Mul`
[INFO] [stdout]               `&f32` implements `Mul<f32>`
[INFO] [stdout]               `&f32` implements `Mul`
[INFO] [stdout]               `&f64` implements `Mul<f64>`
[INFO] [stdout]               `&f64` implements `Mul`
[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.33s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "8824a6a2bced87124e99a9e3a879db7c224443bbabda3976817ddb3b1732a113", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8824a6a2bced87124e99a9e3a879db7c224443bbabda3976817ddb3b1732a113", kill_on_drop: false }`
[INFO] [stdout] 8824a6a2bced87124e99a9e3a879db7c224443bbabda3976817ddb3b1732a113
