[INFO] fetching crate derive-aktor 0.1.0... [INFO] checking derive-aktor-0.1.0 against try#98d5ea1855f1028095b37c493ba31093c8519d68 for pr-69548 [INFO] extracting crate derive-aktor 0.1.0 into /workspace/builds/worker-10/source [INFO] validating manifest of crates.io crate derive-aktor 0.1.0 on toolchain 98d5ea1855f1028095b37c493ba31093c8519d68 [INFO] running `"/workspace/cargo-home/bin/cargo" "+98d5ea1855f1028095b37c493ba31093c8519d68" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate derive-aktor 0.1.0 [INFO] finished tweaking crates.io crate derive-aktor 0.1.0 [INFO] tweaked toml for crates.io crate derive-aktor 0.1.0 written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate crates.io crate derive-aktor 0.1.0 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+98d5ea1855f1028095b37c493ba31093c8519d68" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded aktors v0.2.2 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+98d5ea1855f1028095b37c493ba31093c8519d68" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f2d9c8586202a223ad2442db160cb3d09e52aa67c531613bba342ad6128513e2 [INFO] running `"docker" "start" "-a" "f2d9c8586202a223ad2442db160cb3d09e52aa67c531613bba342ad6128513e2"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling futures-core v0.3.4 [INFO] [stderr] Compiling futures-sink v0.3.4 [INFO] [stderr] Compiling futures-io v0.3.4 [INFO] [stderr] Compiling arc-swap v0.4.4 [INFO] [stderr] Compiling pin-utils v0.1.0-alpha.4 [INFO] [stderr] Compiling futures-task v0.3.4 [INFO] [stderr] Compiling bytes v0.5.4 [INFO] [stderr] Compiling pin-project-lite v0.1.4 [INFO] [stderr] Checking futures-channel v0.3.4 [INFO] [stderr] Compiling proc-macro-nested v0.1.3 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Checking syn v1.0.16 [INFO] [stderr] Checking tokio v0.2.13 [INFO] [stderr] Compiling signal-hook-registry v1.2.0 [INFO] [stderr] Checking futures-util v0.3.4 [INFO] [stderr] Compiling mio v0.6.21 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling futures-executor v0.3.4 [INFO] [stderr] Compiling futures v0.3.4 [INFO] [stderr] Checking aktors v0.2.2 [INFO] [stderr] Checking derive-aktor v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] impl < U : Hash + Eq + Send + 'static > KeyValueStore < U > [INFO] [stdout] { [INFO] [stdout] pub fn query [INFO] [stdout] (& self, key : U, f : Box < dyn Fn (Option < String >) + Send + 'static >) [INFO] [stdout] { [INFO] [stdout] println ! ("query") ; f [INFO] [stdout] (self . inner_store . get (& key) . map (String :: from)) [INFO] [stdout] } pub fn set (& mut self, key : U, value : String) [INFO] [stdout] { println ! ("set") ; self . inner_store . insert (key, value) ; } [INFO] [stdout] } # [allow (non_camel_case_types)] pub enum KeyValueStoreMessage < U : Hash + [INFO] [stdout] Eq + Send + 'static > [INFO] [stdout] { [INFO] [stdout] query [INFO] [stdout] { key : U, f : Box < dyn Fn (Option < String >) + Send + 'static >, }, set [INFO] [stdout] { key : U, value : String, }, release, [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > aktors :: actor :: Message for [INFO] [stdout] KeyValueStoreMessage < U > [INFO] [stdout] { [INFO] [stdout] fn is_release (& self) -> bool [INFO] [stdout] { if let Self :: release = self { true } else { false } } [INFO] [stdout] } # [async_trait] impl < U : Hash + Eq + Send + 'static > aktors :: actor :: [INFO] [stdout] Actor < KeyValueStoreMessage < U > > for KeyValueStore < U > [INFO] [stdout] { [INFO] [stdout] async fn route_message (& mut self, message : KeyValueStoreMessage < U >) [INFO] [stdout] { [INFO] [stdout] match message [INFO] [stdout] { [INFO] [stdout] KeyValueStoreMessage :: query { key, f, } => self . query [INFO] [stdout] (key, f,), KeyValueStoreMessage :: set { key, value, } => self . [INFO] [stdout] set (key, value,), KeyValueStoreMessage :: release => (), [INFO] [stdout] } ; [INFO] [stdout] } fn close (& mut self) { self . self_actor = None ; } [INFO] [stdout] } pub struct KeyValueStoreActor < U : Hash + Eq + Send + 'static > [INFO] [stdout] { [INFO] [stdout] sender : Sender < KeyValueStoreMessage < U > >, inner_rc : std :: sync :: [INFO] [stdout] Arc < std :: sync :: atomic :: AtomicUsize >, [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] pub async fn new (mut actor_impl : KeyValueStore < U >) -> [INFO] [stdout] (Self, tokio :: task :: JoinHandle < () >) [INFO] [stdout] { [INFO] [stdout] let (sender, receiver) = channel (1) ; let inner_rc = Arc :: new [INFO] [stdout] (AtomicUsize :: new (1)) ; let mut self_actor = Self [INFO] [stdout] { sender, inner_rc : inner_rc . clone () } ; actor_impl . self_actor = [INFO] [stdout] Some (self_actor . clone ()) ; let handle = tokio :: task :: spawn [INFO] [stdout] (aktors :: actor :: route_wrapper [INFO] [stdout] (aktors :: actor :: Router :: new (actor_impl, receiver, inner_rc,))) [INFO] [stdout] ; (self_actor, handle) [INFO] [stdout] } pub async fn release (self) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: release ; let mut sender = self . [INFO] [stdout] sender . clone () ; if let Err (e) = sender . send (msg) . await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. release", e) [INFO] [stdout] } [INFO] [stdout] } pub async fn query [INFO] [stdout] (& self, key : U, f : Box < dyn Fn (Option < String >) + Send + 'static [INFO] [stdout] >,) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: query { key, f, } ; let mut sender = [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } pub async fn set (& self, key : U, value : String,) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: set { key, value, } ; let mut sender [INFO] [stdout] = self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > std :: clone :: Clone for [INFO] [stdout] KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] fn clone (& self) -> Self [INFO] [stdout] { [INFO] [stdout] self . inner_rc . clone () . fetch_add (1, Ordering :: SeqCst) ; Self [INFO] [stdout] { [INFO] [stdout] sender : self . sender . clone (), inner_rc : self . inner_rc . [INFO] [stdout] clone (), [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > Drop for KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] fn drop (& mut self) [INFO] [stdout] { self . inner_rc . clone () . fetch_sub (1, Ordering :: SeqCst) ; } [INFO] [stdout] } [INFO] [stdout] impl < U : Hash + Eq + Send + 'static > KeyValueStore < U > [INFO] [stdout] { [INFO] [stdout] pub fn query [INFO] [stdout] (& self, key : U, f : Box < dyn Fn (Option < String >) + Send + 'static >) [INFO] [stdout] { [INFO] [stdout] println ! ("query") ; f [INFO] [stdout] (self . inner_store . get (& key) . map (String :: from)) [INFO] [stdout] } pub fn set (& mut self, key : U, value : String) [INFO] [stdout] { println ! ("set") ; self . inner_store . insert (key, value) ; } [INFO] [stdout] } # [allow (non_camel_case_types)] pub enum KeyValueStoreMessage < U : Hash + [INFO] [stdout] Eq + Send + 'static > [INFO] [stdout] { [INFO] [stdout] query [INFO] [stdout] { key : U, f : Box < dyn Fn (Option < String >) + Send + 'static >, }, set [INFO] [stdout] { key : U, value : String, }, release, [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > aktors :: actor :: Message for [INFO] [stdout] KeyValueStoreMessage < U > [INFO] [stdout] { [INFO] [stdout] fn is_release (& self) -> bool [INFO] [stdout] { if let Self :: release = self { true } else { false } } [INFO] [stdout] } # [async_trait] impl < U : Hash + Eq + Send + 'static > aktors :: actor :: [INFO] [stdout] Actor < KeyValueStoreMessage < U > > for KeyValueStore < U > [INFO] [stdout] { [INFO] [stdout] async fn route_message (& mut self, message : KeyValueStoreMessage < U >) [INFO] [stdout] { [INFO] [stdout] match message [INFO] [stdout] { [INFO] [stdout] KeyValueStoreMessage :: query { key, f, } => self . query [INFO] [stdout] (key, f,), KeyValueStoreMessage :: set { key, value, } => self . [INFO] [stdout] set (key, value,), KeyValueStoreMessage :: release => (), [INFO] [stdout] } ; [INFO] [stdout] } fn close (& mut self) { self . self_actor = None ; } [INFO] [stdout] } pub struct KeyValueStoreActor < U : Hash + Eq + Send + 'static > [INFO] [stdout] { [INFO] [stdout] sender : Sender < KeyValueStoreMessage < U > >, inner_rc : std :: sync :: [INFO] [stdout] Arc < std :: sync :: atomic :: AtomicUsize >, [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] pub async fn new (mut actor_impl : KeyValueStore < U >) -> [INFO] [stdout] (Self, tokio :: task :: JoinHandle < () >) [INFO] [stdout] { [INFO] [stdout] let (sender, receiver) = channel (1) ; let inner_rc = Arc :: new [INFO] [stdout] (AtomicUsize :: new (1)) ; let mut self_actor = Self [INFO] [stdout] { sender, inner_rc : inner_rc . clone () } ; actor_impl . self_actor = [INFO] [stdout] Some (self_actor . clone ()) ; let handle = tokio :: task :: spawn [INFO] [stdout] (aktors :: actor :: route_wrapper [INFO] [stdout] (aktors :: actor :: Router :: new (actor_impl, receiver, inner_rc,))) [INFO] [stdout] ; (self_actor, handle) [INFO] [stdout] } pub async fn release (self) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: release ; let mut sender = self . [INFO] [stdout] sender . clone () ; if let Err (e) = sender . send (msg) . await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. release", e) [INFO] [stdout] } [INFO] [stdout] } pub async fn query [INFO] [stdout] (& self, key : U, f : Box < dyn Fn (Option < String >) + Send + 'static [INFO] [stdout] >,) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: query { key, f, } ; let mut sender = [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } pub async fn set (& self, key : U, value : String,) [INFO] [stdout] { [INFO] [stdout] let msg = KeyValueStoreMessage :: set { key, value, } ; let mut sender [INFO] [stdout] = self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > std :: clone :: Clone for [INFO] [stdout] KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] fn clone (& self) -> Self [INFO] [stdout] { [INFO] [stdout] self . inner_rc . clone () . fetch_add (1, Ordering :: SeqCst) ; Self [INFO] [stdout] { [INFO] [stdout] sender : self . sender . clone (), inner_rc : self . inner_rc . [INFO] [stdout] clone (), [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl < U : Hash + Eq + Send + 'static > Drop for KeyValueStoreActor < U > [INFO] [stdout] { [INFO] [stdout] fn drop (& mut self) [INFO] [stdout] { self . inner_rc . clone () . fetch_sub (1, Ordering :: SeqCst) ; } [INFO] [stdout] } [INFO] [stdout] impl ApiWrapper [INFO] [stdout] { [INFO] [stdout] pub async fn query [INFO] [stdout] (& self, key : & 'static str, f : Box < dyn Fn (Option < String >) + Send [INFO] [stdout] + 'static >) [INFO] [stdout] { println ! ("query") ; self . inner_store . query (key, f) . await ; } [INFO] [stdout] pub async fn set (& mut self, key : & 'static str, value : String) [INFO] [stdout] { println ! ("set") ; self . inner_store . set (key, value) ; } [INFO] [stdout] } # [allow (non_camel_case_types)] pub enum ApiWrapperMessage [INFO] [stdout] { [INFO] [stdout] query [INFO] [stdout] { [INFO] [stdout] key : & 'static str, f : Box < dyn Fn (Option < String >) + Send + [INFO] [stdout] 'static >, [INFO] [stdout] }, set { key : & 'static str, value : String, }, release, [INFO] [stdout] } impl aktors :: actor :: Message for ApiWrapperMessage [INFO] [stdout] { [INFO] [stdout] fn is_release (& self) -> bool [INFO] [stdout] { if let Self :: release = self { true } else { false } } [INFO] [stdout] } # [async_trait] impl aktors :: actor :: Actor < ApiWrapperMessage > for [INFO] [stdout] ApiWrapper [INFO] [stdout] { [INFO] [stdout] async fn route_message (& mut self, message : ApiWrapperMessage) [INFO] [stdout] { [INFO] [stdout] match message [INFO] [stdout] { [INFO] [stdout] ApiWrapperMessage :: query { key, f, } => self . query (key, f,) . [INFO] [stdout] await, ApiWrapperMessage :: set { key, value, } => self . set [INFO] [stdout] (key, value,) . await, ApiWrapperMessage :: release => (), [INFO] [stdout] } ; [INFO] [stdout] } fn close (& mut self) { self . self_actor = None ; } [INFO] [stdout] } pub struct ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] sender : Sender < ApiWrapperMessage >, inner_rc : std :: sync :: Arc < std [INFO] [stdout] :: sync :: atomic :: AtomicUsize >, [INFO] [stdout] } impl ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] pub async fn new (mut actor_impl : ApiWrapper) -> [INFO] [stdout] (Self, tokio :: task :: JoinHandle < () >) [INFO] [stdout] { [INFO] [stdout] let (sender, receiver) = channel (1) ; let inner_rc = Arc :: new [INFO] [stdout] (AtomicUsize :: new (1)) ; let mut self_actor = Self [INFO] [stdout] { sender, inner_rc : inner_rc . clone () } ; actor_impl . self_actor = [INFO] [stdout] impl ApiWrapper [INFO] [stdout] Some (self_actor . clone ()) ; let handle = tokio :: task :: spawn [INFO] [stdout] (aktors :: actor :: route_wrapper [INFO] [stdout] (aktors :: actor :: Router :: new (actor_impl, receiver, inner_rc,))) [INFO] [stdout] ; (self_actor, handle) [INFO] [stdout] } pub async fn release (self) [INFO] [stdout] { [INFO] [stdout] { [INFO] [stdout] let msg = ApiWrapperMessage :: release ; let mut sender = self . [INFO] [stdout] sender . clone () ; if let Err (e) = sender . send (msg) . await [INFO] [stdout] pub async fn query [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. release", e) [INFO] [stdout] (& self, key : & 'static str, f : Box < dyn Fn (Option < String >) + Send [INFO] [stdout] + 'static >) [INFO] [stdout] } [INFO] [stdout] } pub async fn query [INFO] [stdout] { println ! ("query") ; self . inner_store . query (key, f) . await ; } [INFO] [stdout] (& self, key : & 'static str, f : Box < dyn Fn (Option < String >) + Send [INFO] [stdout] pub async fn set (& mut self, key : & 'static str, value : String) [INFO] [stdout] + 'static >,) [INFO] [stdout] { println ! ("set") ; self . inner_store . set (key, value) ; } [INFO] [stdout] { [INFO] [stdout] } # [allow (non_camel_case_types)] pub enum ApiWrapperMessage [INFO] [stdout] { [INFO] [stdout] let msg = ApiWrapperMessage :: query { key, f, } ; let mut sender = [INFO] [stdout] query [INFO] [stdout] { [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] key : & 'static str, f : Box < dyn Fn (Option < String >) + Send + [INFO] [stdout] await [INFO] [stdout] 'static >, [INFO] [stdout] { [INFO] [stdout] }, set { key : & 'static str, value : String, }, release, [INFO] [stdout] panic ! [INFO] [stdout] } impl aktors :: actor :: Message for ApiWrapperMessage [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] { [INFO] [stdout] fn is_release (& self) -> bool [INFO] [stdout] { if let Self :: release = self { true } else { false } } [INFO] [stdout] } # [async_trait] impl aktors :: actor :: Actor < ApiWrapperMessage > for [INFO] [stdout] ApiWrapper [INFO] [stdout] { [INFO] [stdout] async fn route_message (& mut self, message : ApiWrapperMessage) [INFO] [stdout] { [INFO] [stdout] match message [INFO] [stdout] { [INFO] [stdout] ApiWrapperMessage :: query { key, f, } => self . query (key, f,) . [INFO] [stdout] await, ApiWrapperMessage :: set { key, value, } => self . set [INFO] [stdout] (key, value,) . await, ApiWrapperMessage :: release => (), [INFO] [stdout] } ; [INFO] [stdout] } fn close (& mut self) { self . self_actor = None ; } [INFO] [stdout] } pub struct ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] sender : Sender < ApiWrapperMessage >, inner_rc : std :: sync :: Arc < std [INFO] [stdout] } [INFO] [stdout] :: sync :: atomic :: AtomicUsize >, [INFO] [stdout] } impl ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] pub async fn new (mut actor_impl : ApiWrapper) -> [INFO] [stdout] (Self, tokio :: task :: JoinHandle < () >) [INFO] [stdout] { [INFO] [stdout] } pub async fn set (& self, key : & 'static str, value : String,) [INFO] [stdout] let (sender, receiver) = channel (1) ; let inner_rc = Arc :: new [INFO] [stdout] { [INFO] [stdout] (AtomicUsize :: new (1)) ; let mut self_actor = Self [INFO] [stdout] let msg = ApiWrapperMessage :: set { key, value, } ; let mut sender = [INFO] [stdout] { sender, inner_rc : inner_rc . clone () } ; actor_impl . self_actor = [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] Some (self_actor . clone ()) ; let handle = tokio :: task :: spawn [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl std :: clone :: Clone for ApiWrapperActor [INFO] [stdout] (aktors :: actor :: route_wrapper [INFO] [stdout] { [INFO] [stdout] fn clone (& self) -> Self [INFO] [stdout] (aktors :: actor :: Router :: new (actor_impl, receiver, inner_rc,))) [INFO] [stdout] { [INFO] [stdout] ; (self_actor, handle) [INFO] [stdout] self . inner_rc . clone () . fetch_add (1, Ordering :: SeqCst) ; Self [INFO] [stdout] } pub async fn release (self) [INFO] [stdout] { [INFO] [stdout] { [INFO] [stdout] sender : self . sender . clone (), inner_rc : self . inner_rc . [INFO] [stdout] clone (), [INFO] [stdout] let msg = ApiWrapperMessage :: release ; let mut sender = self . [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] sender . clone () ; if let Err (e) = sender . send (msg) . await [INFO] [stdout] { [INFO] [stdout] } impl Drop for ApiWrapperActor [INFO] [stdout] panic ! [INFO] [stdout] { [INFO] [stdout] ("Receiver has failed with {}, propagating error. release", e) [INFO] [stdout] fn drop (& mut self) [INFO] [stdout] } [INFO] [stdout] } pub async fn query [INFO] [stdout] (& self, key : & 'static str, f : Box < dyn Fn (Option < String >) + Send [INFO] [stdout] + 'static >,) [INFO] [stdout] { [INFO] [stdout] let msg = ApiWrapperMessage :: query { key, f, } ; let mut sender = [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } pub async fn set (& self, key : & 'static str, value : String,) [INFO] [stdout] { [INFO] [stdout] { self . inner_rc . clone () . fetch_sub (1, Ordering :: SeqCst) ; } [INFO] [stdout] let msg = ApiWrapperMessage :: set { key, value, } ; let mut sender = [INFO] [stdout] self . sender . clone () ; if let Err (e) = sender . send (msg) . [INFO] [stdout] await [INFO] [stdout] { [INFO] [stdout] panic ! [INFO] [stdout] ("Receiver has failed with {}, propagating error. #ident", e) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl std :: clone :: Clone for ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] fn clone (& self) -> Self [INFO] [stdout] { [INFO] [stdout] self . inner_rc . clone () . fetch_add (1, Ordering :: SeqCst) ; Self [INFO] [stdout] { [INFO] [stdout] sender : self . sender . clone (), inner_rc : self . inner_rc . [INFO] [stdout] clone (), [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } impl Drop for ApiWrapperActor [INFO] [stdout] { [INFO] [stdout] fn drop (& mut self) [INFO] [stdout] { self . inner_rc . clone () . fetch_sub (1, Ordering :: SeqCst) ; } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stderr] warning: unused import: `tokio::runtime::Runtime` [INFO] [stderr] --> src/bin/ex.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use tokio::runtime::Runtime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Receiver` [INFO] [stderr] --> src/bin/ex.rs:10:34 [INFO] [stderr] | [INFO] [stderr] 10 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokio::runtime::Runtime` [INFO] [stderr] --> src/bin/ex.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use tokio::runtime::Runtime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Receiver` [INFO] [stderr] --> src/bin/ex.rs:10:34 [INFO] [stderr] | [INFO] [stderr] 10 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bin/ex.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | self.inner_store.set(key, value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bin/ex.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | kv_store.release(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/ex.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | handle.await; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bin/ex.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | self.inner_store.set(key, value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused implementer of `futures::Future` that must be used [INFO] [stderr] --> src/bin/ex.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | kv_store.release(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: futures do nothing unless you `.await` or poll them [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/ex.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | handle.await; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 40.07s [INFO] running `"docker" "inspect" "f2d9c8586202a223ad2442db160cb3d09e52aa67c531613bba342ad6128513e2"` [INFO] running `"docker" "rm" "-f" "f2d9c8586202a223ad2442db160cb3d09e52aa67c531613bba342ad6128513e2"` [INFO] [stdout] f2d9c8586202a223ad2442db160cb3d09e52aa67c531613bba342ad6128513e2