syntax_data: {"ast_node_type":"variable","tokens":[{"end":74,"kind":"keyword","start":0,"text":"let"}]}
source_snippet:         let ty::Coroutine(coroutine_def_id, args) = *self_ty.kind() else {
context_before:         let self_ty = self.infcx.shallow_resolve(placeholder_predicate.self_ty());
context_after:             bug!("closure candidate for non-closure {:?}", obligation);