Closed
Description
I will admit that this specific async fn
is a bit long, but I'd like the compiler to tell me in a different way. (Actual reason is addition of one line borrowing the wrong type across an .await
boundary, of course)
Like this, we're coming out ahead of C++ 😄
= help: the trait `std::marker::Sync` is not implemented for `dyn jobs::Job`
= note: required because of the requirements on the impl of `std::marker::Send` for `&dyn jobs::Job`
= note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3,
't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19,
't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34,
't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49,
't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63,
't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77,
't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91,
't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104,
't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116,
't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128,
't129, 't130, 't131, 't132, 't133, 't134, 't135, 't136, 't137, 't138, 't139, 't140,
't141, 't142, 't143, 't144, 't145, 't146, 't147, 't148, 't149, 't150, 't151, 't152,
't153, 't154, 't155, 't156, 't157, 't158, 't159, 't160, 't161, 't162, 't163, 't164,
't165, 't166, 't167, 't168, 't169, 't170, 't171, 't172, 't173, 't174, 't175, 't176,
't177, 't178, 't179, 't180, 't181, 't182, 't183, 't184, 't185, 't186, 't187, 't188,
't189, 't190, 't191, 't192, 't193, 't194, 't195, 't196, 't197, 't198, 't199, 't200,
't201, 't202, 't203, 't204, 't205, 't206, 't207, 't208, 't209, 't210, 't211, 't212,
't213, 't214, 't215, 't216, 't217, 't218, 't219, 't220, 't221, 't222, 't223, 't224,
't225, 't226, 't227, 't228, 't229, 't230, 't231, 't232, 't233, 't234, 't235, 't236,
't237, 't238, 't239, 't240, 't241, 't242, 't243, 't244, 't245, 't246, 't247, 't248>
{handler::Handler, handler::Handler, handler::Handler, &'r mut
tokio_sync::mpsc::bounded::Receiver<handler::Action>,
tokio_sync::mpsc::bounded::Receiver<handler::Action>,
futures_util::stream::next::Next<'s,
tokio_sync::mpsc::bounded::Receiver<handler::Action>>,
futures_util::stream::next::Next<'t0,
tokio_sync::mpsc::bounded::Receiver<handler::Action>>, (),
std::option::Option<handler::Action>, handler::Action, handler::Action,
handler::Request, auth::ClientInfo, tokio_sync::oneshot::Sender<handler::Response>,
handler::Request, std::collections::HashMap<std::string::String, handler::ServiceInfo>,
handler::Handler, &'t1 std::collections::HashMap<std::string::String, (jobs::Service,
usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t2, std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t3, std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t4, std::string::String, (jobs::Service, usize)>,
&'t5 (jobs::Service, usize), &'t6 jobs::Service, &'t7 usize, handler::Handler, &'t8
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't9)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't10)>>, std::boxed::Box<(dyn jobs::Job +
't11)>, (dyn jobs::Job + 't12), &'t13 (dyn jobs::Job + 't14), bool, bool, &'t15 mut
handler::ServiceInfo, &'t16 mut (dyn jobs::Job + 't17), &'t18 (dyn jobs::Job + 't19),
&'t20 jobs::Service, &'t21 jobs::Service, std::pin::Pin<std::boxed::Box<(dyn
core::future::future::Future<Output = jobs::ExtStatus> + std::marker::Send + 't22)>>,
std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output =
jobs::ExtStatus> + std::marker::Send + 't23)>>, (), std::string::String,
handler::Handler, &'t24 std::collections::HashMap<std::string::String, (jobs::Service,
usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t25 std::string::String, &'t26 std::string::String,
std::option::Option<&'t27 (jobs::Service, usize)>, &'t28 jobs::Service, &'t29 usize,
handler::Handler, &'t30 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't31)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't32)>>, std::boxed::Box<(dyn jobs::Job +
't33)>, (dyn jobs::Job + 't34), &'t35 mut (dyn jobs::Job + 't36), &'t37 mut (dyn
jobs::Job + 't38), &'t39 mut (dyn jobs::Job + 't40), &'t41 jobs::Service, &'t42
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t49
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t50 std::string::String, &'t51 std::string::String,
std::option::Option<&'t52 (jobs::Service, usize)>, &'t53 jobs::Service, &'t54 usize,
handler::Handler, &'t55 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't56)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't57)>>, std::boxed::Box<(dyn jobs::Job +
't58)>, (dyn jobs::Job + 't59), &'t60 mut (dyn jobs::Job + 't61), &'t62 mut (dyn
jobs::Job + 't63), &'t64 mut (dyn jobs::Job + 't65), &'t66 jobs::Service, &'t67
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t74
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t75 std::string::String, &'t76 std::string::String,
std::option::Option<&'t77 (jobs::Service, usize)>, &'t78 jobs::Service, &'t79 usize,
handler::Handler, &'t80 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't81)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't82)>>, std::boxed::Box<(dyn jobs::Job +
't83)>, (dyn jobs::Job + 't84), &'t85 mut (dyn jobs::Job + 't86), &'t87 mut (dyn
jobs::Job + 't88), &'t89 mut (dyn jobs::Job + 't90), &'t91 jobs::Service, &'t92
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t99
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t100 std::string::String, &'t101 std::string::String,
std::option::Option<&'t102 (jobs::Service, usize)>, &'t103 jobs::Service, &'t104 usize,
handler::Handler, &'t105 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't106)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't107)>>, std::boxed::Box<(dyn jobs::Job
+ 't108)>, (dyn jobs::Job + 't109), &'t110 mut (dyn jobs::Job + 't111), &'t112 mut (dyn
jobs::Job + 't113), &'t114 mut (dyn jobs::Job + 't115), &'t116 jobs::Service, &'t117
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t124
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t125 std::string::String, &'t126 std::string::String,
std::option::Option<&'t127 (jobs::Service, usize)>, &'t128 jobs::Service, &'t129 usize,
handler::Handler, &'t130 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't131)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't132)>>, std::boxed::Box<(dyn jobs::Job
+ 't133)>, (dyn jobs::Job + 't134), &'t135 mut (dyn jobs::Job + 't136), &'t137 mut (dyn
jobs::Job + 't138), &'t139 mut (dyn jobs::Job + 't140), &'t141 jobs::Service, &'t142
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, std::string::String, std::string::String, handler::Handler, &'t149
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t150 std::string::String, &'t151 std::string::String,
std::option::Option<&'t152 (jobs::Service, usize)>, &'t153 jobs::Service, &'t154 usize,
handler::Handler, &'t155 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't156)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't157)>>, std::boxed::Box<(dyn jobs::Job
+ 't158)>, (dyn jobs::Job + 't159), &'t160 mut (dyn jobs::Job + 't161), &'t162 mut (dyn
jobs::Job + 't163), &'t164 mut (dyn jobs::Job + 't165), &'t166 jobs::Service, &'t167
jobs::Service, auth::ClientInfo, std::string::String, std::string::String, impl
core::future::future::Future, impl core::future::future::Future, impl
core::future::future::Future, (), std::string::String, handler::Handler, &'t174
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t175 std::string::String, &'t176 std::string::String,
std::option::Option<&'t177 (jobs::Service, usize)>, &'t178 jobs::Service, &'t179 usize,
handler::Handler, &'t180 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't181)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't182)>>, std::boxed::Box<(dyn jobs::Job
+ 't183)>, (dyn jobs::Job + 't184), &'t185 mut (dyn jobs::Job + 't186), &'t187 mut (dyn
jobs::Job + 't188), &'t189 mut (dyn jobs::Job + 't190), &'t191 jobs::Service, &'t192
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t199
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t200 std::string::String, &'t201 std::string::String,
std::option::Option<&'t202 (jobs::Service, usize)>, &'t203 jobs::Service, &'t204 usize,
handler::Handler, &'t205 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't206)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't207)>>, std::boxed::Box<(dyn jobs::Job
+ 't208)>, (dyn jobs::Job + 't209), &'t210 mut (dyn jobs::Job + 't211), &'t212 mut (dyn
jobs::Job + 't213), &'t214 mut (dyn jobs::Job + 't215), &'t216 jobs::Service, &'t217
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t224
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t225 std::string::String, &'t226 std::string::String,
std::option::Option<&'t227 (jobs::Service, usize)>, &'t228 jobs::Service, &'t229 usize,
handler::Handler, &'t230 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't231)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't232)>>, std::boxed::Box<(dyn jobs::Job
+ 't233)>, (dyn jobs::Job + 't234), &'t235 mut (dyn jobs::Job + 't236), &'t237 mut (dyn
jobs::Job + 't238), &'t239 mut (dyn jobs::Job + 't240), &'t241 jobs::Service, &'t242
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, ()}`
= note: required because it appears within the type `[static
generator@src/handler.rs:137:32: 198:6 __arg0:handler::Handler for<'r, 's, 't0, 't1,
't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17,
't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31,
't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45,
't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59,
't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73,
't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87,
't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101,
't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113,
't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125,
't126, 't127, 't128, 't129, 't130, 't131, 't132, 't133, 't134, 't135, 't136, 't137,
't138, 't139, 't140, 't141, 't142, 't143, 't144, 't145, 't146, 't147, 't148, 't149,
't150, 't151, 't152, 't153, 't154, 't155, 't156, 't157, 't158, 't159, 't160, 't161,
't162, 't163, 't164, 't165, 't166, 't167, 't168, 't169, 't170, 't171, 't172, 't173,
't174, 't175, 't176, 't177, 't178, 't179, 't180, 't181, 't182, 't183, 't184, 't185,
't186, 't187, 't188, 't189, 't190, 't191, 't192, 't193, 't194, 't195, 't196, 't197,
't198, 't199, 't200, 't201, 't202, 't203, 't204, 't205, 't206, 't207, 't208, 't209,
't210, 't211, 't212, 't213, 't214, 't215, 't216, 't217, 't218, 't219, 't220, 't221,
't222, 't223, 't224, 't225, 't226, 't227, 't228, 't229, 't230, 't231, 't232, 't233,
't234, 't235, 't236, 't237, 't238, 't239, 't240, 't241, 't242, 't243, 't244, 't245,
't246, 't247, 't248> {handler::Handler, handler::Handler, handler::Handler, &'r mut
tokio_sync::mpsc::bounded::Receiver<handler::Action>,
tokio_sync::mpsc::bounded::Receiver<handler::Action>,
futures_util::stream::next::Next<'s,
tokio_sync::mpsc::bounded::Receiver<handler::Action>>,
futures_util::stream::next::Next<'t0,
tokio_sync::mpsc::bounded::Receiver<handler::Action>>, (),
std::option::Option<handler::Action>, handler::Action, handler::Action,
handler::Request, auth::ClientInfo, tokio_sync::oneshot::Sender<handler::Response>,
handler::Request, std::collections::HashMap<std::string::String, handler::ServiceInfo>,
handler::Handler, &'t1 std::collections::HashMap<std::string::String, (jobs::Service,
usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t2, std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t3, std::string::String, (jobs::Service, usize)>,
std::collections::hash_map::Values<'t4, std::string::String, (jobs::Service, usize)>,
&'t5 (jobs::Service, usize), &'t6 jobs::Service, &'t7 usize, handler::Handler, &'t8
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't9)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't10)>>, std::boxed::Box<(dyn jobs::Job +
't11)>, (dyn jobs::Job + 't12), &'t13 (dyn jobs::Job + 't14), bool, bool, &'t15 mut
handler::ServiceInfo, &'t16 mut (dyn jobs::Job + 't17), &'t18 (dyn jobs::Job + 't19),
&'t20 jobs::Service, &'t21 jobs::Service, std::pin::Pin<std::boxed::Box<(dyn
core::future::future::Future<Output = jobs::ExtStatus> + std::marker::Send + 't22)>>,
std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output =
jobs::ExtStatus> + std::marker::Send + 't23)>>, (), std::string::String,
handler::Handler, &'t24 std::collections::HashMap<std::string::String, (jobs::Service,
usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t25 std::string::String, &'t26 std::string::String,
std::option::Option<&'t27 (jobs::Service, usize)>, &'t28 jobs::Service, &'t29 usize,
handler::Handler, &'t30 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't31)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't32)>>, std::boxed::Box<(dyn jobs::Job +
't33)>, (dyn jobs::Job + 't34), &'t35 mut (dyn jobs::Job + 't36), &'t37 mut (dyn
jobs::Job + 't38), &'t39 mut (dyn jobs::Job + 't40), &'t41 jobs::Service, &'t42
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t49
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t50 std::string::String, &'t51 std::string::String,
std::option::Option<&'t52 (jobs::Service, usize)>, &'t53 jobs::Service, &'t54 usize,
handler::Handler, &'t55 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't56)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't57)>>, std::boxed::Box<(dyn jobs::Job +
't58)>, (dyn jobs::Job + 't59), &'t60 mut (dyn jobs::Job + 't61), &'t62 mut (dyn
jobs::Job + 't63), &'t64 mut (dyn jobs::Job + 't65), &'t66 jobs::Service, &'t67
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t74
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t75 std::string::String, &'t76 std::string::String,
std::option::Option<&'t77 (jobs::Service, usize)>, &'t78 jobs::Service, &'t79 usize,
handler::Handler, &'t80 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't81)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't82)>>, std::boxed::Box<(dyn jobs::Job +
't83)>, (dyn jobs::Job + 't84), &'t85 mut (dyn jobs::Job + 't86), &'t87 mut (dyn
jobs::Job + 't88), &'t89 mut (dyn jobs::Job + 't90), &'t91 jobs::Service, &'t92
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t99
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t100 std::string::String, &'t101 std::string::String,
std::option::Option<&'t102 (jobs::Service, usize)>, &'t103 jobs::Service, &'t104 usize,
handler::Handler, &'t105 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't106)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't107)>>, std::boxed::Box<(dyn jobs::Job
+ 't108)>, (dyn jobs::Job + 't109), &'t110 mut (dyn jobs::Job + 't111), &'t112 mut (dyn
jobs::Job + 't113), &'t114 mut (dyn jobs::Job + 't115), &'t116 jobs::Service, &'t117
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t124
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t125 std::string::String, &'t126 std::string::String,
std::option::Option<&'t127 (jobs::Service, usize)>, &'t128 jobs::Service, &'t129 usize,
handler::Handler, &'t130 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't131)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't132)>>, std::boxed::Box<(dyn jobs::Job
+ 't133)>, (dyn jobs::Job + 't134), &'t135 mut (dyn jobs::Job + 't136), &'t137 mut (dyn
jobs::Job + 't138), &'t139 mut (dyn jobs::Job + 't140), &'t141 jobs::Service, &'t142
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, std::string::String, std::string::String, handler::Handler, &'t149
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t150 std::string::String, &'t151 std::string::String,
std::option::Option<&'t152 (jobs::Service, usize)>, &'t153 jobs::Service, &'t154 usize,
handler::Handler, &'t155 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't156)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't157)>>, std::boxed::Box<(dyn jobs::Job
+ 't158)>, (dyn jobs::Job + 't159), &'t160 mut (dyn jobs::Job + 't161), &'t162 mut (dyn
jobs::Job + 't163), &'t164 mut (dyn jobs::Job + 't165), &'t166 jobs::Service, &'t167
jobs::Service, auth::ClientInfo, std::string::String, std::string::String, impl
core::future::future::Future, impl core::future::future::Future, impl
core::future::future::Future, (), std::string::String, handler::Handler, &'t174
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t175 std::string::String, &'t176 std::string::String,
std::option::Option<&'t177 (jobs::Service, usize)>, &'t178 jobs::Service, &'t179 usize,
handler::Handler, &'t180 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't181)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't182)>>, std::boxed::Box<(dyn jobs::Job
+ 't183)>, (dyn jobs::Job + 't184), &'t185 mut (dyn jobs::Job + 't186), &'t187 mut (dyn
jobs::Job + 't188), &'t189 mut (dyn jobs::Job + 't190), &'t191 jobs::Service, &'t192
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t199
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t200 std::string::String, &'t201 std::string::String,
std::option::Option<&'t202 (jobs::Service, usize)>, &'t203 jobs::Service, &'t204 usize,
handler::Handler, &'t205 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't206)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't207)>>, std::boxed::Box<(dyn jobs::Job
+ 't208)>, (dyn jobs::Job + 't209), &'t210 mut (dyn jobs::Job + 't211), &'t212 mut (dyn
jobs::Job + 't213), &'t214 mut (dyn jobs::Job + 't215), &'t216 jobs::Service, &'t217
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, (),
std::string::String, handler::Handler, &'t224
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::collections::HashMap<std::string::String, (jobs::Service, usize)>,
std::string::String, &'t225 std::string::String, &'t226 std::string::String,
std::option::Option<&'t227 (jobs::Service, usize)>, &'t228 jobs::Service, &'t229 usize,
handler::Handler, &'t230 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't231)>>,
std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't232)>>, std::boxed::Box<(dyn jobs::Job
+ 't233)>, (dyn jobs::Job + 't234), &'t235 mut (dyn jobs::Job + 't236), &'t237 mut (dyn
jobs::Job + 't238), &'t239 mut (dyn jobs::Job + 't240), &'t241 jobs::Service, &'t242
jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl
core::future::future::Future, impl core::future::future::Future, ()}]`
= note: required because it appears within the type `std::future::GenFuture<[static generator@src/handler.rs:137:32: 198:6 __arg0:handler::Handler for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131, 't132, 't133, 't134, 't135, 't136, 't137, 't138, 't139, 't140, 't141, 't142, 't143, 't144, 't145, 't146, 't147, 't148, 't149, 't150, 't151, 't152, 't153, 't154, 't155, 't156, 't157, 't158, 't159, 't160, 't161, 't162, 't163, 't164, 't165, 't166, 't167, 't168, 't169, 't170, 't171, 't172, 't173, 't174, 't175, 't176, 't177, 't178, 't179, 't180, 't181, 't182, 't183, 't184, 't185, 't186, 't187, 't188, 't189, 't190, 't191, 't192, 't193, 't194, 't195, 't196, 't197, 't198, 't199, 't200, 't201, 't202, 't203, 't204, 't205, 't206, 't207, 't208, 't209, 't210, 't211, 't212, 't213, 't214, 't215, 't216, 't217, 't218, 't219, 't220, 't221, 't222, 't223, 't224, 't225, 't226, 't227, 't228, 't229, 't230, 't231, 't232, 't233, 't234, 't235, 't236, 't237, 't238, 't239, 't240, 't241, 't242, 't243, 't244, 't245, 't246, 't247, 't248> {handler::Handler, handler::Handler, handler::Handler, &'r mut tokio_sync::mpsc::bounded::Receiver<handler::Action>, tokio_sync::mpsc::bounded::Receiver<handler::Action>, futures_util::stream::next::Next<'s, tokio_sync::mpsc::bounded::Receiver<handler::Action>>, futures_util::stream::next::Next<'t0, tokio_sync::mpsc::bounded::Receiver<handler::Action>>, (), std::option::Option<handler::Action>, handler::Action, handler::Action, handler::Request, auth::ClientInfo, tokio_sync::oneshot::Sender<handler::Response>, handler::Request, std::collections::HashMap<std::string::String, handler::ServiceInfo>, handler::Handler, &'t1 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::hash_map::Values<'t2, std::string::String, (jobs::Service, usize)>, std::collections::hash_map::Values<'t3, std::string::String, (jobs::Service, usize)>, std::collections::hash_map::Values<'t4, std::string::String, (jobs::Service, usize)>, &'t5 (jobs::Service, usize), &'t6 jobs::Service, &'t7 usize, handler::Handler, &'t8 std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't9)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't10)>>, std::boxed::Box<(dyn jobs::Job + 't11)>, (dyn jobs::Job + 't12), &'t13 (dyn jobs::Job + 't14), bool, bool, &'t15 mut handler::ServiceInfo, &'t16 mut (dyn jobs::Job + 't17), &'t18 (dyn jobs::Job + 't19), &'t20 jobs::Service, &'t21 jobs::Service, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = jobs::ExtStatus> + std::marker::Send + 't22)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = jobs::ExtStatus> + std::marker::Send + 't23)>>, (), std::string::String, handler::Handler, &'t24 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t25 std::string::String, &'t26 std::string::String, std::option::Option<&'t27 (jobs::Service, usize)>, &'t28 jobs::Service, &'t29 usize, handler::Handler, &'t30 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't31)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't32)>>, std::boxed::Box<(dyn jobs::Job + 't33)>, (dyn jobs::Job + 't34), &'t35 mut (dyn jobs::Job + 't36), &'t37 mut (dyn jobs::Job + 't38), &'t39 mut (dyn jobs::Job + 't40), &'t41 jobs::Service, &'t42 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t49 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t50 std::string::String, &'t51 std::string::String, std::option::Option<&'t52 (jobs::Service, usize)>, &'t53 jobs::Service, &'t54 usize, handler::Handler, &'t55 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't56)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't57)>>, std::boxed::Box<(dyn jobs::Job + 't58)>, (dyn jobs::Job + 't59), &'t60 mut (dyn jobs::Job + 't61), &'t62 mut (dyn jobs::Job + 't63), &'t64 mut (dyn jobs::Job + 't65), &'t66 jobs::Service, &'t67 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t74 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t75 std::string::String, &'t76 std::string::String, std::option::Option<&'t77 (jobs::Service, usize)>, &'t78 jobs::Service, &'t79 usize, handler::Handler, &'t80 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't81)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't82)>>, std::boxed::Box<(dyn jobs::Job + 't83)>, (dyn jobs::Job + 't84), &'t85 mut (dyn jobs::Job + 't86), &'t87 mut (dyn jobs::Job + 't88), &'t89 mut (dyn jobs::Job + 't90), &'t91 jobs::Service, &'t92 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t99 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t100 std::string::String, &'t101 std::string::String, std::option::Option<&'t102 (jobs::Service, usize)>, &'t103 jobs::Service, &'t104 usize, handler::Handler, &'t105 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't106)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't107)>>, std::boxed::Box<(dyn jobs::Job + 't108)>, (dyn jobs::Job + 't109), &'t110 mut (dyn jobs::Job + 't111), &'t112 mut (dyn jobs::Job + 't113), &'t114 mut (dyn jobs::Job + 't115), &'t116 jobs::Service, &'t117 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t124 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t125 std::string::String, &'t126 std::string::String, std::option::Option<&'t127 (jobs::Service, usize)>, &'t128 jobs::Service, &'t129 usize, handler::Handler, &'t130 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't131)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't132)>>, std::boxed::Box<(dyn jobs::Job + 't133)>, (dyn jobs::Job + 't134), &'t135 mut (dyn jobs::Job + 't136), &'t137 mut (dyn jobs::Job + 't138), &'t139 mut (dyn jobs::Job + 't140), &'t141 jobs::Service, &'t142 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, std::string::String, std::string::String, handler::Handler, &'t149 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t150 std::string::String, &'t151 std::string::String, std::option::Option<&'t152 (jobs::Service, usize)>, &'t153 jobs::Service, &'t154 usize, handler::Handler, &'t155 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't156)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't157)>>, std::boxed::Box<(dyn jobs::Job + 't158)>, (dyn jobs::Job + 't159), &'t160 mut (dyn jobs::Job + 't161), &'t162 mut (dyn jobs::Job + 't163), &'t164 mut (dyn jobs::Job + 't165), &'t166 jobs::Service, &'t167 jobs::Service, auth::ClientInfo, std::string::String, std::string::String, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t174 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t175 std::string::String, &'t176 std::string::String, std::option::Option<&'t177 (jobs::Service, usize)>, &'t178 jobs::Service, &'t179 usize, handler::Handler, &'t180 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't181)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't182)>>, std::boxed::Box<(dyn jobs::Job + 't183)>, (dyn jobs::Job + 't184), &'t185 mut (dyn jobs::Job + 't186), &'t187 mut (dyn jobs::Job + 't188), &'t189 mut (dyn jobs::Job + 't190), &'t191 jobs::Service, &'t192 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t199 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t200 std::string::String, &'t201 std::string::String, std::option::Option<&'t202 (jobs::Service, usize)>, &'t203 jobs::Service, &'t204 usize, handler::Handler, &'t205 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't206)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't207)>>, std::boxed::Box<(dyn jobs::Job + 't208)>, (dyn jobs::Job + 't209), &'t210 mut (dyn jobs::Job + 't211), &'t212 mut (dyn jobs::Job + 't213), &'t214 mut (dyn jobs::Job + 't215), &'t216 jobs::Service, &'t217 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, (), std::string::String, handler::Handler, &'t224 std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::collections::HashMap<std::string::String, (jobs::Service, usize)>, std::string::String, &'t225 std::string::String, &'t226 std::string::String, std::option::Option<&'t227 (jobs::Service, usize)>, &'t228 jobs::Service, &'t229 usize, handler::Handler, &'t230 mut std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't231)>>, std::vec::Vec<std::boxed::Box<(dyn jobs::Job + 't232)>>, std::boxed::Box<(dyn jobs::Job + 't233)>, (dyn jobs::Job + 't234), &'t235 mut (dyn jobs::Job + 't236), &'t237 mut (dyn jobs::Job + 't238), &'t239 mut (dyn jobs::Job + 't240), &'t241 jobs::Service, &'t242 jobs::Service, auth::ClientInfo, impl core::future::future::Future, impl core::future::future::Future, impl core::future::future::Future, ()}]>`
Metadata
Metadata
Assignees
Labels
Area: Async & AwaitArea: Messages for errors, warnings, and lintsAsync-await issues that have been triaged during a working group meeting.Category: An issue proposing an enhancement or a PR with one.Diagnostics: Too much output caused by a single piece of incorrect code.Relevant to the compiler team, which will review and decide on the PR/issue.