[INFO] fetching crate union-fn-macro 0.2.0...
[INFO] testing union-fn-macro-0.2.0 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate union-fn-macro 0.2.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate union-fn-macro 0.2.0
[INFO] finished tweaking crates.io crate union-fn-macro 0.2.0
[INFO] tweaked toml for crates.io crate union-fn-macro 0.2.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate union-fn-macro 0.2.0 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]       Adding heck v0.4.1 (available: v0.5.0)
[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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3b13b1bd8c27c89981d3347c8eaea44f7f22440696a1c846bc26b74088fc18f7
[INFO] running `Command { std: "docker" "start" "-a" "3b13b1bd8c27c89981d3347c8eaea44f7f22440696a1c846bc26b74088fc18f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b13b1bd8c27c89981d3347c8eaea44f7f22440696a1c846bc26b74088fc18f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b13b1bd8c27c89981d3347c8eaea44f7f22440696a1c846bc26b74088fc18f7", kill_on_drop: false }`
[INFO] [stdout] 3b13b1bd8c27c89981d3347c8eaea44f7f22440696a1c846bc26b74088fc18f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd5ad885305fdc7f0dc14539f6e766143d5a1af2973d9efec928851291bfed26
[INFO] running `Command { std: "docker" "start" "-a" "fd5ad885305fdc7f0dc14539f6e766143d5a1af2973d9efec928851291bfed26", kill_on_drop: false }`
[INFO] [stderr]    Compiling union-fn-macro v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: methods `filter_docs` and `get_docs` are never used
[INFO] [stdout]   --> src/utils.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait AttributeExt {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn filter_docs(&self) -> Option<&syn::Attribute>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn get_docs(&self) -> Option<syn::LitStr>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.00s
[INFO] running `Command { std: "docker" "inspect" "fd5ad885305fdc7f0dc14539f6e766143d5a1af2973d9efec928851291bfed26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd5ad885305fdc7f0dc14539f6e766143d5a1af2973d9efec928851291bfed26", kill_on_drop: false }`
[INFO] [stdout] fd5ad885305fdc7f0dc14539f6e766143d5a1af2973d9efec928851291bfed26
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a86e98d6552be4f60ca6c4f9af352e38e359581fa0695bbfbfbed403500c6ffe
[INFO] running `Command { std: "docker" "start" "-a" "a86e98d6552be4f60ca6c4f9af352e38e359581fa0695bbfbfbed403500c6ffe", kill_on_drop: false }`
[INFO] [stderr]    Compiling union-fn-macro v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: methods `filter_docs` and `get_docs` are never used
[INFO] [stdout]   --> src/utils.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait AttributeExt {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn filter_docs(&self) -> Option<&syn::Attribute>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn get_docs(&self) -> Option<syn::LitStr>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `filter_docs` and `get_docs` are never used
[INFO] [stdout]   --> src/utils.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait AttributeExt {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn filter_docs(&self) -> Option<&syn::Attribute>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn get_docs(&self) -> Option<syn::LitStr>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:378:20
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod<'_>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.01s
[INFO] running `Command { std: "docker" "inspect" "a86e98d6552be4f60ca6c4f9af352e38e359581fa0695bbfbfbed403500c6ffe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a86e98d6552be4f60ca6c4f9af352e38e359581fa0695bbfbfbed403500c6ffe", kill_on_drop: false }`
[INFO] [stdout] a86e98d6552be4f60ca6c4f9af352e38e359581fa0695bbfbfbed403500c6ffe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f9117df6efae319e58d52fdf25fb6622cec2eb05c6c139876bd06e06cfe7535e
[INFO] running `Command { std: "docker" "start" "-a" "f9117df6efae319e58d52fdf25fb6622cec2eb05c6c139876bd06e06cfe7535e", kill_on_drop: false }`
[INFO] [stderr] warning: methods `filter_docs` and `get_docs` are never used
[INFO] [stderr]   --> src/utils.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub trait AttributeExt {
[INFO] [stderr]    |           ------------ methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 12 |     fn filter_docs(&self) -> Option<&syn::Attribute>;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     fn get_docs(&self) -> Option<syn::LitStr>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:378:20
[INFO] [stderr]     |
[INFO] [stderr] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod> {
[INFO] [stderr]     |                    ^^^^^                          ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 378 |     pub fn methods(&self) -> impl Iterator<Item = UnionFnMethod<'_>> {
[INFO] [stderr]     |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `union-fn-macro` (lib) generated 2 warnings (run `cargo fix --lib -p union-fn-macro` to apply 1 suggestion)
[INFO] [stderr] warning: `union-fn-macro` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/union_fn_macro-743f9c3598fcd282)
[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 union_fn_macro
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - union_fn (line 66) ... FAILED
[INFO] [stdout] test src/lib.rs - union_fn (line 120) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - union_fn (line 66) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `union_fn`
[INFO] [stdout]   --> src/lib.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | use ::union_fn::{union_fn, CallWithContext as _, IntoOpt as _};
[INFO] [stdout]    |       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: associated type defaults are unstable
[INFO] [stdout]   --> src/lib.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Context = i64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #29661 <https://github.com/rust-lang/rust/issues/29661> for more information
[INFO] [stdout]    = help: add `#![feature(associated_type_defaults)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-01-05; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `+=` cannot be applied to type `<Self as Counter>::Context`
[INFO] [stdout]   --> src/lib.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         *value += by;
[INFO] [stdout]    |         ------^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         cannot use `+=` on type `<Self as Counter>::Context`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn bump_by(value: &mut Self::Context, by: i64) where <Self as Counter>::Context: AddAssign<i64> {
[INFO] [stdout]    |                                                    ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Context = i64;
[INFO] [stdout]    |     ------------ associated type defaults can't be assumed inside the trait defining them
[INFO] [stdout] ...
[INFO] [stdout] 80 |         *value = choices.get(*value as usize).copied().unwrap_or(0)
[INFO] [stdout]    |         ------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected associated type, found `i64`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected associated type `<Self as Counter>::Context`
[INFO] [stdout]                          found type `i64`
[INFO] [stdout] 
[INFO] [stdout] error[E0605]: non-primitive cast: `<Self as Counter>::Context` as `usize`
[INFO] [stdout]   --> src/lib.rs:80:30
[INFO] [stdout]    |
[INFO] [stdout] 80 |         *value = choices.get(*value as usize).copied().unwrap_or(0)
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
[INFO] [stdout] 
[INFO] [stdout] error[E0368]: binary assignment operation `/=` cannot be applied to type `<Self as Counter>::Context`
[INFO] [stdout]   --> src/lib.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         *value /= 2;
[INFO] [stdout]    |         ------^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         cannot use `/=` on type `<Self as Counter>::Context`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn div2(value: &mut Self::Context) where <Self as Counter>::Context: DivAssign<i32> {
[INFO] [stdout]    |                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:90:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Context = i64;
[INFO] [stdout]    |     ------------ associated type defaults can't be assumed inside the trait defining them
[INFO] [stdout] ...
[INFO] [stdout] 90 |         *value = 0;
[INFO] [stdout]    |         ------   ^ expected associated type, found integer
[INFO] [stdout]    |         |
[INFO] [stdout]    |         expected due to the type of this binding
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected associated type `<Self as Counter>::Context`
[INFO] [stdout]                          found type `{integer}`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/lib.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Counter::bump_by(1).call(&mut value);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ - argument #1 of type `&mut _` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/lib.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn bump_by(value: &mut Self::Context, by: i64) {
[INFO] [stdout]    |        ^^^^^^^ -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Counter::bump_by(/* value */, 1).call(&mut value);
[INFO] [stdout]    |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `call` found for unit type `()` in the current scope
[INFO] [stdout]   --> src/lib.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Counter::bump_by(1).call(&mut value);
[INFO] [stdout]    |                         ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Counter::bump_by(41).call(&mut value);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ -- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lib.rs:74:8
[INFO] [stdout]     |
[INFO] [stdout]  74 |     fn bump_by(value: &mut Self::Context, by: i64) {
[INFO] [stdout]     |        ^^^^^^^ -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Counter::bump_by(/* value */, 41).call(&mut value);
[INFO] [stdout]     |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `call` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/lib.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Counter::bump_by(41).call(&mut value);
[INFO] [stdout]     |                          ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Counter::div2().call(&mut value);
[INFO] [stdout]     |     ^^^^^^^^^^^^^-- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lib.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  84 |     fn div2(value: &mut Self::Context) {
[INFO] [stdout]     |        ^^^^ -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Counter::div2(/* value */).call(&mut value);
[INFO] [stdout]     |                   +++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `call` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/lib.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Counter::div2().call(&mut value);
[INFO] [stdout]     |                     ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/lib.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Counter::reset().call(&mut value);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^-- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lib.rs:89:8
[INFO] [stdout]     |
[INFO] [stdout]  89 |     fn reset(value: &mut Self::Context) {
[INFO] [stdout]     |        ^^^^^ -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Counter::reset(/* value */).call(&mut value);
[INFO] [stdout]     |                    +++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `call` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/lib.rs:106:22
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Counter::reset().call(&mut value);
[INFO] [stdout]     |                      ^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/lib.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let opt = Counter::select(choices).into_opt();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ ------- argument #1 of type `&mut _` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/lib.rs:79:8
[INFO] [stdout]     |
[INFO] [stdout]  79 |     fn select(value: &mut Self::Context, choices: [i64; 4]) {
[INFO] [stdout]     |        ^^^^^^ -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let opt = Counter::select(/* value */, choices).into_opt();
[INFO] [stdout]     |                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `into_opt` found for unit type `()` in the current scope
[INFO] [stdout]    --> src/lib.rs:110:40
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let opt = Counter::select(choices).into_opt();
[INFO] [stdout]     |                                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `into` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 110 -     let opt = Counter::select(choices).into_opt();
[INFO] [stdout] 110 +     let opt = Counter::select(choices).into();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0368, E0432, E0599, E0605, E0658.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - union_fn (line 120) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `union_fn`
[INFO] [stdout]    --> src/lib.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | use ::union_fn::{union_fn, CallWithContext as _, IntoOpt as _};
[INFO] [stdout]     |       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl ::union_fn::CallWithContext for Counter {
[INFO] [stdout]     |        ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |     ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                        ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:159:28
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 <Self as ::union_fn::IntoOpt>::Impls::bump_by(ctx, by)
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 <Self as ::union_fn::IntoOpt>::Impls::select(ctx, choices)
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 <Self as ::union_fn::IntoOpt>::Impls::reset(ctx,)
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:176:37
[INFO] [stdout]     |
[INFO] [stdout] 176 |             ctx: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                     ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:177:28
[INFO] [stdout]     |
[INFO] [stdout] 177 |             &<Counter as ::union_fn::UnionFn>::Args,
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 178 |         ) -> <Counter as ::union_fn::UnionFn>::Output,
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:179:29
[INFO] [stdout]     |
[INFO] [stdout] 179 |         args: <Counter as ::union_fn::UnionFn>::Args,
[INFO] [stdout]     |                             ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 |     impl ::union_fn::IntoOpt for Counter {
[INFO] [stdout]     |            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:189:51
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 Self::BumpBy { by } => <Self as ::union_fn::IntoOpt>::Opt::bump_by(by),
[INFO] [stdout]     |                                                   ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |                     <Self as ::union_fn::IntoOpt>::Opt::select(choices)
[INFO] [stdout]     |                                ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:193:46
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Self::Reset {} => <Self as ::union_fn::IntoOpt>::Opt::reset(),
[INFO] [stdout]     |                                              ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 |     impl ::union_fn::CallWithContext for CounterOpt {
[INFO] [stdout]     |            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:213:40
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 handler: <Counter as ::union_fn::IntoOpt>::Delegator::bump_by,
[INFO] [stdout]     |                                        ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 args: <Counter as ::union_fn::UnionFn>::Args::bump_by(by),
[INFO] [stdout]     |                                     ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:221:40
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 handler: <Counter as ::union_fn::IntoOpt>::Delegator::select,
[INFO] [stdout]     |                                        ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:222:37
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 args: <Counter as ::union_fn::UnionFn>::Args::select(choices),
[INFO] [stdout]     |                                     ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:229:40
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 handler: <Counter as ::union_fn::IntoOpt>::Delegator::reset,
[INFO] [stdout]     |                                        ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:230:37
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 args: <Counter as ::union_fn::UnionFn>::Args::reset(),
[INFO] [stdout]     |                                     ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 |     impl ::union_fn::UnionFn for CounterOpt {
[INFO] [stdout]     |            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     impl ::union_fn::UnionFn for Counter {
[INFO] [stdout]     |            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:279:39
[INFO] [stdout]     |
[INFO] [stdout] 279 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:280:34
[INFO] [stdout]     |
[INFO] [stdout] 280 |             args: &<Counter as ::union_fn::UnionFn>::Args,
[INFO] [stdout]     |                                  ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:281:28
[INFO] [stdout]     |
[INFO] [stdout] 281 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:283:27
[INFO] [stdout]     |
[INFO] [stdout] 283 |             <Counter as ::union_fn::IntoOpt>::Impls::bump_by(value, by)
[INFO] [stdout]     |                           ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:288:39
[INFO] [stdout]     |
[INFO] [stdout] 288 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:289:34
[INFO] [stdout]     |
[INFO] [stdout] 289 |             args: &<Counter as ::union_fn::UnionFn>::Args,
[INFO] [stdout]     |                                  ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |             <Counter as ::union_fn::IntoOpt>::Impls::select(value, choices)
[INFO] [stdout]     |                           ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:297:39
[INFO] [stdout]     |
[INFO] [stdout] 297 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |             args: &<Counter as ::union_fn::UnionFn>::Args,
[INFO] [stdout]     |                                  ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:299:28
[INFO] [stdout]     |
[INFO] [stdout] 299 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:301:27
[INFO] [stdout]     |
[INFO] [stdout] 301 |             <Counter as ::union_fn::IntoOpt>::Impls::reset(value)
[INFO] [stdout]     |                           ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:311:39
[INFO] [stdout]     |
[INFO] [stdout] 311 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:313:28
[INFO] [stdout]     |
[INFO] [stdout] 313 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:319:39
[INFO] [stdout]     |
[INFO] [stdout] 319 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:321:28
[INFO] [stdout]     |
[INFO] [stdout] 321 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:327:39
[INFO] [stdout]     |
[INFO] [stdout] 327 |             value: &mut <Counter as ::union_fn::CallWithContext>::Context,
[INFO] [stdout]     |                                       ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `union_fn` in the list of imported crates
[INFO] [stdout]    --> src/lib.rs:328:28
[INFO] [stdout]     |
[INFO] [stdout] 328 |         ) -> <Counter as ::union_fn::UnionFn>::Output {
[INFO] [stdout]     |                            ^^^^^^^^ could not find `union_fn` in the list of imported crates
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 42 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - union_fn (line 120)
[INFO] [stdout]     src/lib.rs - union_fn (line 66)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "f9117df6efae319e58d52fdf25fb6622cec2eb05c6c139876bd06e06cfe7535e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9117df6efae319e58d52fdf25fb6622cec2eb05c6c139876bd06e06cfe7535e", kill_on_drop: false }`
[INFO] [stdout] f9117df6efae319e58d52fdf25fb6622cec2eb05c6c139876bd06e06cfe7535e
