Streamline coroutine_kind_label.

This commit is contained in:
Nicholas Nethercote 2024-09-11 16:31:59 +10:00
parent b3b56d805f
commit ae1f092307

View File

@ -576,33 +576,20 @@ pub fn push_item_name(tcx: TyCtxt<'_>, def_id: DefId, qualified: bool, output: &
}
fn coroutine_kind_label(coroutine_kind: Option<CoroutineKind>) -> &'static str {
use CoroutineDesugaring::*;
use CoroutineKind::*;
use CoroutineSource::*;
match coroutine_kind {
Some(CoroutineKind::Desugared(CoroutineDesugaring::Gen, CoroutineSource::Block)) => {
"gen_block"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::Gen, CoroutineSource::Closure)) => {
"gen_closure"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::Gen, CoroutineSource::Fn)) => "gen_fn",
Some(CoroutineKind::Desugared(CoroutineDesugaring::Async, CoroutineSource::Block)) => {
"async_block"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::Async, CoroutineSource::Closure)) => {
"async_closure"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::Async, CoroutineSource::Fn)) => {
"async_fn"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, CoroutineSource::Block)) => {
"async_gen_block"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, CoroutineSource::Closure)) => {
"async_gen_closure"
}
Some(CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, CoroutineSource::Fn)) => {
"async_gen_fn"
}
Some(CoroutineKind::Coroutine(_)) => "coroutine",
Some(Desugared(Gen, Block)) => "gen_block",
Some(Desugared(Gen, Closure)) => "gen_closure",
Some(Desugared(Gen, Fn)) => "gen_fn",
Some(Desugared(Async, Block)) => "async_block",
Some(Desugared(Async, Closure)) => "async_closure",
Some(Desugared(Async, Fn)) => "async_fn",
Some(Desugared(AsyncGen, Block)) => "async_gen_block",
Some(Desugared(AsyncGen, Closure)) => "async_gen_closure",
Some(Desugared(AsyncGen, Fn)) => "async_gen_fn",
Some(Coroutine(_)) => "coroutine",
None => "closure",
}
}