ion failed: matches!(coroutine_kind,
    CoroutineKind::Desugared(CoroutineDesugaring::Async, CoroutineSource::Fn))build_future_drop_poll_shim not for coroutine impl type: (assertion failed: matches!(place.projection.first(),
    Some(ProjectionElem::Field(FieldIdx::ZERO, _)))compiler/rustc_mir_transform/src/shim.rsassertion failed: matches!(place.projection[1], ProjectionElem::Deref)assertion failed: matches!(place.projection[0], ProjectionElem::Field(FieldIdx::ZERO, _))item  passed to make_shimfn pointer  is not an fnInstanceKind::Virtual () is for direct calls onlytuple_fields called on non-tuple: ` which is not `Copy` and is not an aggregateunexpected type for ADT ctor FnPtr::addr with bound vars for `expected fn ptr, found ty::FnPtr(..)coroutine_closure_by_movecoroutine_closure_by_reffield should be captured by immutable ref if we have an `Fn` instance, but it was: compiler/rustc_mir_transform/src/ssa.rsinvalid terminatorcompiler/rustc_mir_transform/src/lib.rs`mir_const_qualif` should only be called on const fns and const items`mir_for_ctfe` called on non-const assertion failed: body.phase == MirPhase::Analysis(AnalysisPhase::Initial)assertion failed: body.phase == MirPhase::Analysis(AnalysisPhase::PostCleanup)assertion failed: body.phase == MirPhase::Runtime(RuntimePhase::Initial)assertion failed: body.phase == MirPhase::Runtime(RuntimePhase::PostCleanup)