Buddy please make your types readable
But like please, if I need to write a function that returns your type, make sure it's not Painful, or if I need to read your type to figure out what your function even does, make it easy
@CenTdemeern1 Pin<Box<dyn ... + Send + '_>> this is some async type erasure bullshit; why didn't they just make it impl Future what the hell that would've been so much easier even if they're actually boxed.
@sodiboo 2018 edition
@sodiboo If I recall there was something with this in 2018 edition because async was unfinished (or rather less finished than it is now)
@sodiboo I think I heard about this once. I might just be wrong though
@CenTdemeern1 I mean, that's fair enough if the code is from when 2018 edition was the latest? yeah async was less mature then than it was now; in particular, async fn in traits were Not A Thing. however, I think impl Future was totally a thing? and that was like, the usual workaround?

no matter the technical reason at the time; it's at least not because of "2018 edition", because new async tech can be used in any edition really; it's all backwards compatible and the reason it is still like that is probably if it's an old API that can't be broken.

what crate is it from? maybe we can find the
actual reason why the type signature is that ugly, instead of speculating.
WebSocketClient in misskey::websocket - Rust

Asynchronous WebSocket-based client for Misskey.

@CenTdemeern1 @sodiboo of course it's misskey

@CenTdemeern1 bruh this is just a rustdoc skill issue. their actual type signature uses much more readable type aliases.

if I need to write a function that returns your type, make sure it's not Painfulyou can use futures::future::BoxFuture and misskey::streaming::ChannelStream 😉

@sodiboo also async fn in traits is a very recent thing is it not
@CenTdemeern1 yes it's a very recent thing but it's tied to the compiler version, not the edition.

editions only serve to prevent backwards-incompatible changes, such as new hard keywords, syntax removals, and some core language API changes.
additions to the language, like the ability to place async fn in traits, is in fact available in every edition.
Very appropriately this type is contained in a crate called misskey-rs
@CenTdemeern1 $10 says it doesn't work with latest misskey
@julia yeah it probably doesn't. its latest release is 3 years old
@julia would you like me to try it
@julia do I get those 10 bucks if it works on eepy.moe, does that count
@CenTdemeern1 yeah sure close enough

you can also just ask me for 10 bucks