[INFO] fetching crate fluxion 0.10.0...
[INFO] checking fluxion-0.10.0 against try#47af3d0de9d26c7deba4cfb203b710cc3f764e91 for pr-130443
[INFO] extracting crate fluxion 0.10.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate fluxion 0.10.0 on toolchain 47af3d0de9d26c7deba4cfb203b710cc3f764e91
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fluxion 0.10.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate fluxion 0.10.0
[INFO] tweaked toml for crates.io crate fluxion 0.10.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate crates.io crate fluxion 0.10.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 80d69ae164d2fa95a05febc9fc2a8e8d9937cfe7a70fc5486656b5685bd7c6d3
[INFO] running `Command { std: "docker" "start" "-a" "80d69ae164d2fa95a05febc9fc2a8e8d9937cfe7a70fc5486656b5685bd7c6d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80d69ae164d2fa95a05febc9fc2a8e8d9937cfe7a70fc5486656b5685bd7c6d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80d69ae164d2fa95a05febc9fc2a8e8d9937cfe7a70fc5486656b5685bd7c6d3", kill_on_drop: false }`
[INFO] [stdout] 80d69ae164d2fa95a05febc9fc2a8e8d9937cfe7a70fc5486656b5685bd7c6d3
[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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+47af3d0de9d26c7deba4cfb203b710cc3f764e91" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 897a2fb92345b01c72890aef43f2de9b730977267428b64400162924568d0e12
[INFO] running `Command { std: "docker" "start" "-a" "897a2fb92345b01c72890aef43f2de9b730977267428b64400162924568d0e12", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling portable-atomic v1.7.0
[INFO] [stderr]    Compiling serde v1.0.209
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling unicode-xid v0.2.5
[INFO] [stderr]     Checking cordyceps v0.3.2
[INFO] [stderr]     Checking mycelium-bitfield v0.1.5
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking slacktor v0.3.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.76
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.32
[INFO] [stderr]     Checking const_format v0.2.32
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.209
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]    Compiling fluxion_macro v0.1.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking tokio v1.39.3
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking maitake-sync v0.1.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking fluxion v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stdout] error[E0407]: method `get_actor` is not a member of trait `Delegate`
[INFO] [stdout]    --> examples/foreign.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout] 162 | |         where M::Result: serde::Serialize + for<'de> serde::Deserialize<'de> {
[INFO] [stdout] 163 | |
[INFO] [stdout] 164 | |         // We shouldn't be able to return local ids
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |         }))
[INFO] [stdout] 181 | |     }
[INFO] [stdout]     | |_____^ not a member of trait `Delegate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> examples/foreign.rs:161:88
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                                        ^^^^^^^^^^---- help: remove the unnecessary generics
[INFO] [stdout]     |                                                                                        |
[INFO] [stdout]     |                                                                                        expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: enum defined here, with 0 lifetime parameters
[INFO] [stdout]    --> /opt/rustwide/workdir/src/identifiers.rs:10:10
[INFO] [stdout]     |
[INFO] [stdout] 10  | pub enum Identifier<#[cfg(feature = "foreign")] 'a> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0581]: return type references lifetime `'a`, which is not constrained by the fn input types
[INFO] [stdout]    --> examples/foreign.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 | /     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout] 162 | |         where M::Result: serde::Serialize + for<'de> serde::Deserialize<'de> {
[INFO] [stdout]     | |____________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `ID` found for type parameter `M` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:130:100
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage, S: Delegate + AsRef<Self>>(&self, actor: LocalRe...
[INFO] [stdout]     |                                                        - associated item `ID` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 130 |         println!("{} is registering actor with id {} to handle message {}", self.system_id, id, M::ID);
[INFO] [stdout]     |                                                                                                    ^^ associated item not found in `M`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `ID`, perhaps you need to restrict type parameter `M` with it:
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage + MessageID, S: Delegate + AsRef<Self>>(&self, actor: LocalRef<A, S>)
[INFO] [stdout]     |                                                                                         +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `ID` found for type parameter `M` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:139:102
[INFO] [stdout]     |
[INFO] [stdout] 125 | ...or_message<A: Handler<M>, M: fluxion::IndeterminateMessage, S: Delegate + AsRef<Self>>(&self, actor: LocalRef<A, S>)
[INFO] [stdout]     |                              - associated item `ID` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 139 | ..."Message handler {}/{} stopped recieving messages.", actor.get_id() ,M::ID);
[INFO] [stdout]     |                                                                            ^^ associated item not found in `M`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `ID`, perhaps you need to restrict type parameter `M` with it:
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage + MessageID, S: Delegate + AsRef<Self>>(&self, actor: LocalRef<A, S>)
[INFO] [stdout]     |                                                                                         +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: Deserialize<'_>` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:144:34
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let decoded: M = bincode::deserialize(&next_message.0).unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `M`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `M` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required by a bound in `bincode::deserialize`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bincode-1.3.3/src/lib.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn deserialize<'a, T>(bytes: &'a [u8]) -> Result<T>
[INFO] [stdout]     |        ----------- required by a bound in this function
[INFO] [stdout] 178 | where
[INFO] [stdout] 179 |     T: serde::de::Deserialize<'a>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `deserialize`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage + _::_serde::Deserialize<'_>, S: Delegate + AsRef<Self>>(&self, actor: LocalRef<A, S>)
[INFO] [stdout]     |                                                                                         ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `ID` found for type parameter `M` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:155:58
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage, S: Delegate + AsRef<Self>>(&self, actor: LocalRe...
[INFO] [stdout]     |                                                        - associated item `ID` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 155 |         self.actor_handlers.write().await.insert((id, M::ID.to_string()), send_message);
[INFO] [stdout]     |                                                          ^^ associated item not found in `M`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `ID`, perhaps you need to restrict type parameter `M` with it:
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub async fn register_actor_message<A: Handler<M>, M: fluxion::IndeterminateMessage + MessageID, S: Delegate + AsRef<Self>>(&self, actor: LocalRef<A, S>)
[INFO] [stdout]     |                                                                                         +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Foreign` found for enum `Identifier` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let Identifier::Foreign(id, system) = id else {
[INFO] [stdout]     |                         ^^^^^^^ variant or associated item not found in `Identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `ID` found for type parameter `M` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:169:136
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                           - associated item `ID` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 169 |         println!("{} is requesting a foreign actor on system {} with id {} that can handle message {}", self.system_id, system, id, M::ID);
[INFO] [stdout]     |                                                                                                                                        ^^ associated item not found in `M`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `ID`, perhaps you need to restrict type parameter `M` with it:
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + MessageID>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: MessageID` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 |           Some(Arc::new(DelegateSender {
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 177 | |             actor_id: id,
[INFO] [stdout] 178 | |             other_delegate: other.clone(),
[INFO] [stdout] 179 | |             _phantom: PhantomData,
[INFO] [stdout] 180 | |         }))
[INFO] [stdout]     | |__________^ the trait `MessageID` is not implemented for `M`, which is required by `DelegateSender<_>: fluxion::MessageSender<M>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `DelegateSender<M>` to implement `fluxion::MessageSender<M>`
[INFO] [stdout]    --> examples/foreign.rs:61:42
[INFO] [stdout]     |
[INFO] [stdout] 61  | impl<M: Message + MessageID + Serialize> fluxion::MessageSender<M> for DelegateSender<M>
[INFO] [stdout]     |                   ---------              ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   unsatisfied trait bound introduced here
[INFO] [stdout]     = note: required for the cast from `Arc<DelegateSender<M>>` to `Arc<dyn fluxion::MessageSender<M>>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + fluxion::MessageID>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: Serialize` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 |           Some(Arc::new(DelegateSender {
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 177 | |             actor_id: id,
[INFO] [stdout] 178 | |             other_delegate: other.clone(),
[INFO] [stdout] 179 | |             _phantom: PhantomData,
[INFO] [stdout] 180 | |         }))
[INFO] [stdout]     | |__________^ the trait `Serialize` is not implemented for `M`, which is required by `DelegateSender<_>: fluxion::MessageSender<M>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for local types consider adding `#[derive(serde::Serialize)]` to your `M` type
[INFO] [stdout]     = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout] note: required for `DelegateSender<M>` to implement `fluxion::MessageSender<M>`
[INFO] [stdout]    --> examples/foreign.rs:61:42
[INFO] [stdout]     |
[INFO] [stdout] 61  | impl<M: Message + MessageID + Serialize> fluxion::MessageSender<M> for DelegateSender<M>
[INFO] [stdout]     |                               ---------  ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               unsatisfied trait bound introduced here
[INFO] [stdout]     = note: required for the cast from `Arc<DelegateSender<M>>` to `Arc<dyn fluxion::MessageSender<M>>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + _::_serde::Serialize>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: MessageID` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 |         Some(Arc::new(DelegateSender {
[INFO] [stdout]     |              ^^^^^^^^ the trait `MessageID` is not implemented for `M`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `DelegateSender`
[INFO] [stdout]    --> examples/foreign.rs:54:36
[INFO] [stdout]     |
[INFO] [stdout] 54  | struct DelegateSender<M: Message + MessageID> {
[INFO] [stdout]     |                                    ^^^^^^^^^ required by this bound in `DelegateSender`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + fluxion::MessageID>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: MessageID` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 |         Some(Arc::new(DelegateSender {
[INFO] [stdout]     |              ^^^ the trait `MessageID` is not implemented for `M`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `DelegateSender`
[INFO] [stdout]    --> examples/foreign.rs:54:36
[INFO] [stdout]     |
[INFO] [stdout] 54  | struct DelegateSender<M: Message + MessageID> {
[INFO] [stdout]     |                                    ^^^^^^^^^ required by this bound in `DelegateSender`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + fluxion::MessageID>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `M: MessageID` is not satisfied
[INFO] [stdout]    --> examples/foreign.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |             _phantom: PhantomData,
[INFO] [stdout]     |                       ^^^^^^^^^^^ the trait `MessageID` is not implemented for `M`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `DelegateSender`
[INFO] [stdout]    --> examples/foreign.rs:54:36
[INFO] [stdout]     |
[INFO] [stdout] 54  | struct DelegateSender<M: Message + MessageID> {
[INFO] [stdout]     |                                    ^^^^^^^^^ required by this bound in `DelegateSender`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 161 |     async fn get_actor<'a, A: Handler<M>, M: fluxion::IndeterminateMessage + fluxion::MessageID>(&self, id: Identifier<'a>) -> Option<Arc<dyn MessageSender<M>>>
[INFO] [stdout]     |                                                                            ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Foreign` found for enum `Identifier` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:218:66
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let foreign_a = system_b.get::<ActorA, MessageB>(Identifier::Foreign(actor_a, "system_a")).await.unwrap();
[INFO] [stdout]     |                                                                  ^^^^^^^ variant or associated item not found in `Identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Foreign` found for enum `Identifier` in the current scope
[INFO] [stdout]    --> examples/foreign.rs:219:66
[INFO] [stdout]     |
[INFO] [stdout] 219 |     let foreign_b = system_b.get::<ActorB, MessageA>(Identifier::Foreign(actor_b, "system_a")).await.unwrap();
[INFO] [stdout]     |                                                                  ^^^^^^^ variant or associated item not found in `Identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0277, E0407, E0581, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fluxion` (example "foreign") due to 17 previous errors
[INFO] running `Command { std: "docker" "inspect" "897a2fb92345b01c72890aef43f2de9b730977267428b64400162924568d0e12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "897a2fb92345b01c72890aef43f2de9b730977267428b64400162924568d0e12", kill_on_drop: false }`
[INFO] [stdout] 897a2fb92345b01c72890aef43f2de9b730977267428b64400162924568d0e12
